内存优化
- 内存泄露
单例、静态变量、handler、匿名内部类、资源使用完未关闭 - 图片分辨率相关
bitmap究竟会占用多大的内存 - 图片压缩
BitmapFactory Option设置相关参数
inSampleSize采样率 inJustDecodeBounds仅解析图片边界
inTargetDensity目标像素密度(和本图片的像素密度比值进行缩放)
inPreferredConfig 默认使用ARGB_8888
inBitmap 重复使用图片内存 - 缓存池
图片使用缓存池,并设置合适的大小 - 内存抖动
频繁的进行内存的申请和回收,频繁的gc会造成卡顿,还会产生大量内存碎片无法分配大的内存空间而OOM - 其他
使用优化的数据结构比如SparseArray
不适用枚举,枚举会占用更多的内存
慎用SharedPreference,使用时会全部读入内存,可能会造成内存浪费
布局优化
减少OverDraw区域
布局的层级尽量少
在onDraw方法中尽量不创建对象,频繁绘制生成大量垃圾对象,频繁gc
网友评论