为应用“瘦身”!给 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平台随带了众多免费的实用工具,可以帮助跟踪和解决应用程序中的性能问题。
转载于:https://www.cnblogs.com/6yuets2/archive/2012/04/09/2438584.html
为应用“瘦身”!给 Android 应用开发者的十个建议(转)相关推荐
- android sdk如何瘦身,给Android应用开发者的十条瘦身建议
1保持良好的编码习惯 随着iOS和Android智能手机.平板电脑的高速发展,移动设备的运行速率越来越快,对应用软件也有了更高的标准.不过对于Android系统来说,开发者们在创建高性能应用的同时,仍 ...
- 我的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 ...
- Android性能优化之APK瘦身详解(瘦身73%)
image 公司项目在不断的改版迭代中,代码在不断的累加,终于apk包不负重负了,已经到了八十多M了.可能要换种方式表达,到目前为止没有正真的往外推过,一直在内部执行7天讨论需求,5天代码实现的阶段. ...
- Android App安装包瘦身计划
Android App安装包瘦身计划 Android App安装包体积优化: 理由, 指标和可以采用的方法. 本文内容归纳如下图: 为什么要安装包瘦身 安装包需要瘦身吗? 不需要吗? 安装包要瘦身的主 ...
- 「Android」 APK瘦身探索
本文来自尚妆Android团队青峰 发表于尚妆博客 APK瘦身探索 最近几周一直在研究如何为APK瘦身,折腾了很久,是时候写篇博客总结一下了,虽然已经准备了下周一要在客户端周会分享用的PPT:APK瘦 ...
- App瘦身最佳实践(分析了微信、淘宝、微博图片文件的放法)
本文会不定期更新,推荐watch下项目.如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request. 本文的示例代码主要是基于作者的经验来编写的,若你有其他 ...
- App 瘦身最佳实践
原文链接:www.jianshu.com Android本文会不定期更新,推荐watch下项目.如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以提交pull request. ...
- 安卓app启动速度优化,Android-APP-终极瘦身指南
前言 APK瘦身即是对APK大小进行压缩策略,减小APK安装包大小,更小的安装包更有助于吸引用户安装:虽然说APK瘦身对于Android对应用可分配内存的限制影响不大,但是还是有一些影响的. 最近几周 ...
- APK瘦身-是时候给App进行减负了
前言 APK瘦身即是对APK大小进行压缩策略,减小APK安装包大小,更小的安装包更有助于吸引用户安装.前一段时间我司某一App进行APK的瘦身,最终也达到了减小10M的目标,现做一个简单的总结记录. ...
最新文章
- 写代码:使用while循环实现输出1,2,3,4,5,7,8,9,11,12
- 一个不错的安卓下ssh客户端
- MSSQL 2000 错误823恢复数据案例
- 2017-6-3 jQuery 事件 DOM操作
- vue 禁止显示本网页由、、_【VUE/JS】vue和js禁止浏览器页面后退
- 高中计算机应用基础试讲,试讲计算机应用基础.ppt
- Javascript JSON 序列化和反序列化
- Django视图、URL、模版简介
- 高安全性同态加密算法_坏的同态性教程
- java请求接口示例_Java 8:功能接口示例
- 江苏省计算机一级考试基础知识,江苏省计算机一级考试大纲及复习指南
- 《天天数学》连载01:一月一日
- OpenShift 4 - 使用 emptyDir/hostPath/local 类型 PV
- linux编译c代码错误,linux - 使用ASAN时如何解决错误“无法运行C编译程序” - 堆栈内存溢出...
- 根据一个id查找出数组里面的数据并改掉_Excel最强大的VLOOKUP以及INDEXamp;MATCH查找函数...
- myeclipse-10.7-offline-installer-windows安装图解及注意事项
- 固件编辑器android,定制 Android 固件
- 小程序input获得焦点触发_小程序文本框焦点 小程序input自动获取焦点
- EndNote X9配置Chinese Standard GBT7714
- WebEx 播放 器 ,电脑有外音,耳机没声音
热门文章
- SqlServer 中的增删改查语句的语法
- SQLite关于时间段查询的sql
- 关于real210开发板linux系统可能无法解析域名的问题解决方法
- ubuntu10.10编译qtopia-2.2.0 问题总结及分析
- 11.4 iftop:动态显示网络接口流量信息
- 【拔刀吧少年】之shell编程规范与变量
- 获得有向无环图中起点到终点的所有路径_力扣1514——概率最大的路径
- 阿里云开发者学院电子书《Dubbo分布式服务治理实战》重磅来袭!
- Android 热修复之DexPatch 介绍
- 疫情之下的科技普惠:阿里云科技驱动中小企业数字化