- 浏览: 39502 次
- 性别:
- 来自: 北京
文章分类
最新评论
随着iOS和Android智能手机、平板电脑的高速发展,移动设备的运行速率越来越快,对应用软件也有了更高的标准。不过对于Android系统来说,开发者们在创建高性能应用的同时,仍有一些问题需要注意。比如应用程序的资源消耗,再高性能的设备也会受到电池和处理器等多方面资源的限制。因此,给应用“瘦身”就成了Android开发者们需要重视的环节。
以下是为Android开发者准备的十条“瘦身”建议:
1.保持良好的编码习惯
一个优秀的开发者应该善于运用常识、完善的算法和标准设计模式。要有资源意识,打开了就要记得关闭,尽量做到晚获取、早释放。这些由来已久的编码准则同样适用Android应用开发,尤其是使用基础设备服务时。
2.让阻塞操作远离主UI线程
通过使用AsyncTask、线程、IntentService和自定义后台服务,保证应用的灵活性。使用加载工具简化游标等长时间加载数据的状态管理。当有其他程序运行时,不能让你的应用滞后或中止。
如果一个操作需要消耗较多时间和资源时,取消该操作,换成异步处理,这样应用就能保持响应,用户可以继续各种操作。该方法适用磁盘读写、访问内容提供方、数据库和互联网,以及解析和其他需要花费较长时间的任务。
3.使用最新的Android SDK版本和API
使用Android平台的最新产品,保证你的应用紧跟Android的更新步伐。随着Android平台的不断发展,部分功能可能被弃用或被更好的功能取代,核心API接收了bug修复和性能改进,新API有助于开发者编写出更稳定的应用。要明白最佳的做法总是随着时间的推移而变,聪明的开发者应该总是站在整个平台的最前沿。
4.考虑使用StrictMode
从Android 2.3开始提供了一个新的类StrictMode,该类可以用于捕捉发生在应用程序主线程中耗时的磁盘、网络访问或函数调用,可以帮助开发者改进程序,使主线程处理UI和动画在磁盘读写和网络操作时变得更平滑,避免主线程被阻塞。
5.发布前禁用或尽量减少调试
如果开发周期较长,你很可能在应用中内置了一些日志或调试代码,在发布前确保这些功能已经最小化或完全禁用。
6.确保UI布局简单优雅
简单的屏幕不仅方便阅读,还能加快加载速度。与其在一个单一屏幕上堆砌太多不必要的功能,不如花时间去开发优雅的用户界面。简单优雅的UI不仅能提高应用性能,还能提高用户使用该应用时的效率。
7.根据目标设备调整应用资源
为尽可能高效地被加载,需要根据具体设备的配置调整相应资源,尤其是图片资源。为使应用包文件合理适用不同设备,首先可只添加运行该应用需要的核心资源,然后再根据具体设备下载相关内容。
8.使用Hierachy Viewer可视化调试工具
Hierachy Viewer能很方便地在开发者设计,调试和调整界面时,快速定位问题,解决问题,提高开发效率。
9.使用layoutopt进行布局优化
Layoutopt是一款简单的命令行工具,可帮助找到不必要的控件嵌套以及缩减布局资源,从而使应用变得可能“苗条”。控件越少、布局层次越浅,性能就越好。
10.使用Traceview及其他Android工具进行分析
Android SDK随带了很多用于应用分析的工具,其中最受欢迎的是Traceview,这款图形工具可以帮助调试和找到应用中的性能瓶颈。
总结:
事实上,提升Android应用性能的方法并不止以上十条,有些需要使用特定的算法,有些则依赖切实可行的调试和性能监测技术。好在Android平台为开发者提供了众多免费实用的开发工具,可以帮助跟踪和解决应用程序中遇到的性能问题。
发表评论
-
设置内存卡资源图片
2013-03-12 10:11 478String imageDir = Environment. ... -
android字体过长渐变效果
2013-01-30 15:59 662使用 android:singleLine="t ... -
自定义之checkbox
2013-01-08 09:16 613android中自定义checkbox大小和图片 (转) ... -
Android中Activity,View,Window之间的关系(转)
2012-12-03 09:11 11241.首先来看Activity中的attach()方法,在调用o ... -
Dialog的dismiss和cancel 区别 (转)
2012-12-03 09:13 1843Dialog的dismiss和cancel AlertDial ... -
android应用程序适配在不同的手机上(转)
2012-12-03 09:15 485如何将一个应用程序适 ... -
android 堆栈 清理 (转)
2012-12-03 09:16 662启动任务 当一个activity ... -
Android权限共享UID(转)
2012-12-03 09:16 541共享UID 安装在设备中 ... -
ViewPager+TabHost 实现选项卡页面间滑动(转)
2012-12-04 09:19 914转自http://flycatdeng.iteye.com/b ... -
android扫描商品条形码
2012-12-04 09:19 993(转自http://marshal.easymorse.com ... -
基于Android平台的NFC技术的应用实现 (转)
2012-12-04 09:20 1388转自http://1679554191.iteye.com/b ... -
Android API包名及包的功能的中文介绍
2012-11-30 09:38 971android 包含应用平台和在定义应用程序所用到and ... -
Android 自动解锁 KeyguardManager(键盘管理器)(转)
2012-11-30 09:39 931写一个Activity启动该服务即可,用一个线程开启服务, ... -
Android之Service与IntentService的比较 .
2012-11-30 09:41 674转自http://blog.csdn.net/zhf19890 ... -
AlarmManager的使用
2012-11-30 09:42 664AlarmManager的作用文档中的解释是:在特定的时刻为 ... -
ActivityGroup之生命周期
2012-12-04 09:20 780Activity的生命周期已经 ... -
ActivityGroup之切换activity
2012-12-04 09:20 658前言 在一个主界面中做Activity切换一般都会用T ... -
Android SurviceView的触控和轨迹球事件 .
2012-12-05 14:10 1054SurfaceView 的触控和轨迹球事件 1,改开始什 ... -
home键屏蔽
2012-12-05 14:11 6141. 在activity中加上这段代码(重写onAttache ... -
彻底删除某个APK的方法
2012-12-05 14:11 10591. 连接ADB, 执行adb remount 2. 执行a ...
相关推荐
Android应用开发者成长计划
给Android应用开发者的十个建议终版.pdf
Android应用开发者应该知道的交互设计知识。网上收集,仅供交流学习。
Android应用开发者应该知道的交互设计知识s.pdf
HarmonyOS应用开发者高级认证 试题及答案
HarmonyOS应用开发者基础认证考试题目及答案HarmonyOS应用开发者基础认证考试题目及答案HarmonyOS应用开发者基础认证考试题目及答案HarmonyOS应用开发者基础认证考试题目及答案HarmonyOS应用开发者基础认证考试题目...
2018安卓巴士开发者大会打造Android技术盛宴2018安卓巴士开发者大会将于8月25日在上海举行,作为中国最具前沿性、专业性的安卓技术会议,将邀请来自某视频网站、阿里、饿了么等知名企业的一线工程师分享前沿技术趋势...
《给 Android 开发者的 RxJava 详解》
鸿蒙HarmonyOS应用开发者认证 题库+答案案
Android开发者资料大全
Android和App开发者账号申请.pdfAndroid和App开发者账号申请.pdfAndroid和App开发者账号申请.pdfAndroid和App开发者账号申请.pdfAndroid和App开发者账号申请.pdfAndroid和App开发者账号申请.pdfAndroid和App开发者...
开发者指南,介绍了Android从业人员变为IT精英应该具备的知识。权威版谷歌官方出版。对于想成为精英,不愿再做IT民工的人应该有帮助
Android 2.3 r1开发者指南——AIDL
Android中文翻译组——Android开发者指南(1)Android中文翻译组——Android开发者指南(1)
有米广告Android SDK开发者文档
输入:chrome://extensions 并打开 "开发者模式",将SmartTOC0.3.16文件夹拖到页面中,插件就安装好了。安装完成后关闭 "开发者模式"。 最新版本请到这里下载...
简单描述android2.0最新功能
一个Android Kotlin 开发者课程
完整的 Android Kotlin 开发者课程