Android性能
Posted zhouli_csdn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android性能相关的知识,希望对你有一定的参考价值。
UI性能
- 使用RelativeLayout,尽量减少布局层级
- 避免LinearLayout嵌套weight属性,
- 使用merge座位跟标签
- 使用include,viewstub优化布局
- 考虑自定义viewgroup。
- 去除无用view的背景,减少图片的使用
- 尽量使用shape绘制背景,减少图片使用
- 尽量避免嵌套的layout_weight,影响执行效率
- ui不要过于追求特别,绚丽而使界面复杂化
组件
- service:短暂性后台任务使用IntentService,它在完成任务后会自动结束。
- broadcast:尽量不要使用大量的常驻广播。
- activity:避免context的泄露。
- 四大组件运行与ui线程,避免ui线程中做的任务过多耗时操作。
数据
- 不要创建大量不必要String,基本类型对象。
- 考虑对象的复用避免内存抖动。
- 常亮声明为 static final。
- 业务Bean的成员直接使用public,避免getter,setter。
- 在使用集合的时候,优先选择SparseArray、SparseIntArray、SparseBooleanArray。
- 对于集合类,要理解透彻,以便使用最合适的集合类对应于业务需求。
- 尽量避免使用枚举。
- 懒加载数据。尽量在使用到数据的时候加载。
代码
- 善于使用设计模式,避免设计模式复杂化,类过多不一定是什么好事情。
- 优化循环,条件语句
- 尽量使用局部变量
- 减少方法调用
- 工具类使用static方法
- 涉及复杂耗时的算法,可以考虑native方法。
- Lint工具使用分析代码。
- 个人挺喜欢google android的编码风格。
内存
- 内部类尽量使用static,避免外部类引用,造成内存泄露。
- Bitmap使用,小心oom。
- 注意资源释放。(尤其使用native方法获得的一些资源对象)
- 数据对象使用注意复用,释放。
- 使用性能分析工具(Traceview,mat)
以上是关于Android性能的主要内容,如果未能解决你的问题,请参考以下文章