内存优化-----从原理到实践

Android ART内存清理原理

Android现在主流的机器都是ART的虚拟机了

  1. gc的时候不会阻塞主线程
  2. 标记-清除算法
  3. art的gc日志


    image.png

    Background sticky concurrent mark sweep GC freed 22904(1300KB) AllocSpace objects, 2(40KB) LOS objects, 22% free, 4MB/5MB, paused 7.857ms total 33.533ms

  4. 由原来的两次GC暂停减少为一次
  5. 以较少的GC时间回收最近分配的, 短命的对象.
  6. 可以查看分内内存的heap linux万物皆文件 cat /system/build.prop
    可以设置LargeHeap
  7. 问题是造成内存碎片化

内存优化方法

  1. 使用SparseArray在1000一下优化百分之30
  2. 使用ArrayMap在1000一下优化百分之10
  3. 减少频繁GC 减少对象创建次数view的ondraw方法

你可能感兴趣的:(内存优化-----从原理到实践)