Android性能

Posted zhouli_csdn

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android性能相关的知识,希望对你有一定的参考价值。

UI性能

  1. 使用RelativeLayout,尽量减少布局层级
  2. 避免LinearLayout嵌套weight属性,
  3. 使用merge座位跟标签
  4. 使用include,viewstub优化布局
  5. 考虑自定义viewgroup。
  6. 去除无用view的背景,减少图片的使用
  7. 尽量使用shape绘制背景,减少图片使用
  8. 尽量避免嵌套的layout_weight,影响执行效率
  9. ui不要过于追求特别,绚丽而使界面复杂化

组件

  1. service:短暂性后台任务使用IntentService,它在完成任务后会自动结束。
  2. broadcast:尽量不要使用大量的常驻广播。
  3. activity:避免context的泄露。
  4. 四大组件运行与ui线程,避免ui线程中做的任务过多耗时操作。

数据

  1. 不要创建大量不必要String,基本类型对象。
  2. 考虑对象的复用避免内存抖动。
  3. 常亮声明为 static final。
  4. 业务Bean的成员直接使用public,避免getter,setter。
  5. 在使用集合的时候,优先选择SparseArray、SparseIntArray、SparseBooleanArray。
  6. 对于集合类,要理解透彻,以便使用最合适的集合类对应于业务需求。
  7. 尽量避免使用枚举。
  8. 懒加载数据。尽量在使用到数据的时候加载。

代码

  1. 善于使用设计模式,避免设计模式复杂化,类过多不一定是什么好事情。
  2. 优化循环,条件语句
  3. 尽量使用局部变量
  4. 减少方法调用
  5. 工具类使用static方法
  6. 涉及复杂耗时的算法,可以考虑native方法。
  7. Lint工具使用分析代码。
  8. 个人挺喜欢google android的编码风格。

内存

  1. 内部类尽量使用static,避免外部类引用,造成内存泄露。
  2. Bitmap使用,小心oom。
  3. 注意资源释放。(尤其使用native方法获得的一些资源对象)
  4. 数据对象使用注意复用,释放。
  5. 使用性能分析工具(Traceview,mat)

以上是关于Android性能的主要内容,如果未能解决你的问题,请参考以下文章

基于Android的图书馆借阅占座座位app

基于Android自习室占座座位管理系统

座位背对着别人

天梯赛座位分配

排座位

HDU-4532湫秋系列故事——安排座位