• 关于Android应用开发优化的十条建议
    时间:2011-12-07   作者:佚名   出处:互联网

    随着移动平台的发展和其应用的不断改善,质量成为决定成败的关键。用户要求他们选择安装的应用响应快、性能好,如果某个应用不能提供卓越的功能和稳定的用户体验,那这样的应用注定会被很快卸载。

             尽管现在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平台随带了众多免费的实用工具,可以帮助跟踪和解决应用程序中的性能问题。

    网友留言/评论

    我要留言/评论

    相关文章

    关于Wordpress搜索引擎优化的一些技巧分享:很多人都喜欢把什么都往博客里面扔,汽车,电影,音乐,等等等。当然,这样的做法并没有错。但是,搜索引擎是很笨的,你的主题太多太杂,搜索引擎就不知道你的博客是关于什么的。同时,读者对这种形式也会感到疑惑。
    在Android手机上快速制作指南针:本文介绍一下用Rexsee制作的指南针,方便简单,纯页面实现哦,具体内容如下。
    对于PKI(公钥基础结构)及证书服务的理解:对于PKI及证书服务的这些概念,相信初学者会有许多迷惑的地方,那是因为其中的某些关键概念没有理解清楚,我力争以通俗易懂的方式给初学者一些启示。
    数据分析之 - DAU,MAU,及DAU/MAU专业名词解释:最近看到FaceBook上的social game分析报表,发现一些未知专业名词,比如DAU(或者dau)以及MAU(mau)这两个缩写是什么?其含义代表什么呢?分析这两个指数对我们又有什么帮助呢?
    Twitter Api文档 - 中文翻译:Twitter最近甚火,风靡全球,就连奥巴马竞选都派上了用场,可见其威力之巨大,现把twitter api文档翻译为中文,供各位爱好者使用!
    关于RFC 协议介绍:Request For Comments (RFC),是一系列以编号排定的文件。文件收集了有关因特网相关资讯,以及UNIX和因特网社群的软件文件。目前RFC文件是由Internet Society(ISOC)所赞助发行。
    BT3破解无线网络密码:没网上了?邻家小区有无限网络么?有...有密码,哈哈,这年头有密码算什么,看下面这位大虾如何破解无限网络的,不用花钱照样轻松上网,一个字“爽”~~