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

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

转载于:https://www.cnblogs.com/6yuets2/archive/2012/04/09/2438584.html

为应用“瘦身”!给 Android 应用开发者的十个建议(转)相关推荐

  1. android sdk如何瘦身,给Android应用开发者的十条瘦身建议

    1保持良好的编码习惯 随着iOS和Android智能手机.平板电脑的高速发展,移动设备的运行速率越来越快,对应用软件也有了更高的标准.不过对于Android系统来说,开发者们在创建高性能应用的同时,仍 ...

  2. 我的Android进阶之旅------gt;Android APP终极瘦身指南

    首先声明,下面文字转载于: APK瘦身实践 http://www.jayfeng.com/2015/12/29/APK%E7%98%A6%E8%BA%AB%E5%AE%9E%E8%B7%B5/ APP ...

  3. Android性能优化之APK瘦身详解(瘦身73%)

    image 公司项目在不断的改版迭代中,代码在不断的累加,终于apk包不负重负了,已经到了八十多M了.可能要换种方式表达,到目前为止没有正真的往外推过,一直在内部执行7天讨论需求,5天代码实现的阶段. ...

  4. Android App安装包瘦身计划

    Android App安装包瘦身计划 Android App安装包体积优化: 理由, 指标和可以采用的方法. 本文内容归纳如下图: 为什么要安装包瘦身 安装包需要瘦身吗? 不需要吗? 安装包要瘦身的主 ...

  5. 「Android」 APK瘦身探索

    本文来自尚妆Android团队青峰 发表于尚妆博客 APK瘦身探索 最近几周一直在研究如何为APK瘦身,折腾了很久,是时候写篇博客总结一下了,虽然已经准备了下周一要在客户端周会分享用的PPT:APK瘦 ...

  6. App瘦身最佳实践(分析了微信、淘宝、微博图片文件的放法)

    本文会不定期更新,推荐watch下项目.如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request. 本文的示例代码主要是基于作者的经验来编写的,若你有其他 ...

  7. App 瘦身最佳实践

    原文链接:www.jianshu.com Android本文会不定期更新,推荐watch下项目.如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request. ...

  8. 安卓app启动速度优化,Android-APP-终极瘦身指南

    前言 APK瘦身即是对APK大小进行压缩策略,减小APK安装包大小,更小的安装包更有助于吸引用户安装:虽然说APK瘦身对于Android对应用可分配内存的限制影响不大,但是还是有一些影响的. 最近几周 ...

  9. APK瘦身-是时候给App进行减负了

    前言 APK瘦身即是对APK大小进行压缩策略,减小APK安装包大小,更小的安装包更有助于吸引用户安装.前一段时间我司某一App进行APK的瘦身,最终也达到了减小10M的目标,现做一个简单的总结记录. ...

最新文章

  1. 写代码:使用while循环实现输出1,2,3,4,5,7,8,9,11,12
  2. 一个不错的安卓下ssh客户端
  3. MSSQL 2000 错误823恢复数据案例
  4. 2017-6-3 jQuery 事件 DOM操作
  5. vue 禁止显示本网页由、、_【VUE/JS】vue和js禁止浏览器页面后退
  6. 高中计算机应用基础试讲,试讲计算机应用基础.ppt
  7. Javascript JSON 序列化和反序列化
  8. Django视图、URL、模版简介
  9. 高安全性同态加密算法_坏的同态性教程
  10. java请求接口示例_Java 8:功能接口示例
  11. 江苏省计算机一级考试基础知识,江苏省计算机一级考试大纲及复习指南
  12. 《天天数学》连载01:一月一日
  13. OpenShift 4 - 使用 emptyDir/hostPath/local 类型 PV
  14. linux编译c代码错误,linux - 使用ASAN时如何解决错误“无法运行C编译程序” - 堆栈内存溢出...
  15. 根据一个id查找出数组里面的数据并改掉_Excel最强大的VLOOKUP以及INDEXamp;MATCH查找函数...
  16. myeclipse-10.7-offline-installer-windows安装图解及注意事项
  17. 固件编辑器android,定制 Android 固件
  18. 小程序input获得焦点触发_小程序文本框焦点 小程序input自动获取焦点
  19. EndNote X9配置Chinese Standard GBT7714
  20. WebEx 播放 器 ,电脑有外音,耳机没声音

热门文章

  1. SqlServer 中的增删改查语句的语法
  2. SQLite关于时间段查询的sql
  3. 关于real210开发板linux系统可能无法解析域名的问题解决方法
  4. ubuntu10.10编译qtopia-2.2.0 问题总结及分析
  5. 11.4 iftop:动态显示网络接口流量信息
  6. 【拔刀吧少年】之shell编程规范与变量
  7. 获得有向无环图中起点到终点的所有路径_力扣1514——概率最大的路径
  8. 阿里云开发者学院电子书《Dubbo分布式服务治理实战》重磅来袭!
  9. Android 热修复之DexPatch 介绍
  10. 疫情之下的科技普惠:阿里云科技驱动中小企业数字化