Android 性能优化总结
本来是一张自己做的思维导图,但是图片导出以后放到文章里效果不是太好,索性用文本描述一下
这个是思维导图的😏链接,需要的话可以自己导出
每一处都是点到为止,具体的优化需要自己找具体的文章看,其中部分有推荐的链接,感觉有必要看

一、布局&绘制优化
1、时机
2、层级
- 合并ViewGroup
- 代替
- 使用ViewStub代替 visibility = “gone”
- 使用layer list
3、内容
- 注意 drawable 文件夹
- 使用代码替换 inflate.xml
4、工具
- DDMS Layout Inspector(现在在Android Studio中)
二、内存泄漏优化
就看这篇文章吧:Android性能优化之LeakCanary
三、响应速度优化和ANR日志分析
四、ListView & Bitmap 优化
1、ListView
- 采用ViewHolder并避免在getView中执行耗时操作
- 根据滑动状态控制任务的执行频率(比如滑动时不加载图片、滑动停止开启异步任务)
- 硬件加速
2、BitMap
BitmapFactory.Options根据需要对图片采样(BitmapFactory.Options.inSampleSize)
3、缓存
五、线程优化
使用线程池
六、API优化
七、语言优化
八、工具介绍
-
MAT、Leak Canary(内存泄漏检测) LeakCanary:https://square.github.io/leakcanary/
-
Block Canary、ANR-WatchDog、safeLooper (ANR) BlockCanary:https://github.com/markzhai/AndroidPerformanceMonitor
ANR-WatchDog:https://github.com/SalomonBrys/ANR-WatchDog
SafeLooper:https://github.com/mmin18/SafeLooper
-
Profiler、Systrace(官方检测,内存、FPS、方法调用) Systrace:https://developer.android.com/topic/performance/tracing
Android Profiler:https://developer.android.com/studio/profile/android-profiler
-
优化电池续航时间 https://developer.android.com/topic/performance/power
Battery Historian:https://developer.android.com/topic/performance/power/battery-historian
-
LayoutInspector(Android Studio中)
|