性能优化
性能优化
主线程主要工作是更新UI,不要做耗时操作
图片加载优化,压缩,缓存网络图片
列表控件优化,比如RecyclerView采用增量刷新替代全量刷新
减少布局绘制层级
分析工具
As profiler
Memory Analyzer
Leak Canary
网络优化
后台限制或减少网络请求,比如借助JobScheduler进行任务调度
内存优化
内存分配
SparceArray,ArrayMap等Android提供的数据结构
内存泄漏
未关闭系统资源,比如registerReceiver, File等
WebView内存泄漏
匿名类:new AsyncTask, new Thread, TimerTask,这些匿名类对象结束前会持有Activity引用,导致无法回收,造成内存泄漏
混淆
//开启代码混淆
minifyEnabled true
//Zipalign优化
zipAlignEnabled true
//移除无用的resource文件
shrinkResources true
资源
defaultConfig {
//只保留指定和默认的资源
resConfigs('zh-rCN','ko')
}
动态库打包
ndk {
//可以选择只保留需要的
abiFilters "armeabi", "armeabi-v7a"
}
apk瘦身
Last updated
Was this helpful?