Android性能优化总结

合理的管理内存

  • 节制地使用Service,尽量使用IntentService
  • 避免在Bitmap上浪费内存,压缩图片处理
  • 谨慎使用抽象编程
  • 尽量避免会用依赖注入框架
  • 使用ProGuard简化代码,好处:混淆、压缩、优化。
  • 学会使用分析内存使用情况,避免内存泄露的问题。
  • 使用优化过的数据集合
    • SparseArray就避免掉了基本数据类型转换成对象数据类型的时间,传统Java API中提供的集合类会相对比较低效

高性能的编码优化

  • 避免创建不必要的对象  
    • 当设计字符串拼接时,使用StringBuild(线程非安全,效率较高)和StringBuffer(线程安全,效率略低)代替String
    • 当返回的String需要拼接是,直接返回StringBuild或StringBuffer代替
    • 尽量使用基本数据类来代替封装数据类型,更高效。
  • 对常量使用static final修饰符,效率更高。
  • 使用工具类调用静态方法实现通用的功能是一种效率较高的做法。
  • 使用for-each循环方法
  • 避免使用内部Getter和Setter方法
  • 多使用系统封装好的API
    • System.arraycopy()进行数组拷贝

    注:以上优化技巧只属于良好的编码习惯,对性能提升起到“微优化”,使用合适的算法与数据结构将永远是你优化程序性能的最主要手段。

布局优化技巧

  • 尽量避免嵌套布局
    • 复杂的布局优先使用RelativeLayout
  • 重用布局文件,优先使用merge避免引入嵌套布局。
  • 仅在需要时才加载的布局使用ViewStub更合理,不过会增加一层无用的布局,权衡使用。
原文地址:https://www.cnblogs.com/changyaohua/p/5210028.html