15 性能优化

内存优化

  1. 内存泄露
    单例、静态变量、handler、匿名内部类、资源使用完未关闭
  2. 图片分辨率相关
    bitmap究竟会占用多大的内存
  3. 图片压缩
    BitmapFactory Option设置相关参数
    inSampleSize采样率 inJustDecodeBounds仅解析图片边界
    inTargetDensity目标像素密度(和本图片的像素密度比值进行缩放)
    inPreferredConfig 默认使用ARGB_8888
    inBitmap 重复使用图片内存
  4. 缓存池
    图片使用缓存池,并设置合适的大小
  5. 内存抖动
    频繁的进行内存的申请和回收,频繁的gc会造成卡顿,还会产生大量内存碎片无法分配大的内存空间而OOM
  6. 其他
    使用优化的数据结构比如SparseArray
    不适用枚举,枚举会占用更多的内存
    慎用SharedPreference,使用时会全部读入内存,可能会造成内存浪费

布局优化

减少OverDraw区域
布局的层级尽量少
在onDraw方法中尽量不创建对象,频繁绘制生成大量垃圾对象,频繁gc

电量优化

启动优化

网络优化

参考

内存优化
性能优化

你可能感兴趣的:(15 性能优化)