导语想写一篇关于androidGC的想法来源于追查一个魅族手机图片滑动卡顿问题,由于不断的GC导致的丢帧卡顿的问题让我们想了很多方案去解决,所以就打算详细的看看内存分配和GC的原理,为什么会不断的GC,GCALLOC和GCCOCURRENT有什么区别,能不能想办法扩大堆内存减少GC的频次等等。1、JVM内存回收机制1.1回收算法标记回收算法(MarkandSweepGC)从”GCRoots”集合开始,将内存整个遍历一次,保留所有可以被GCRoots直接或间接引用到的对象,而剩下的对象都当作垃圾对待并回收,这个算法需要中断进程内其它组件的执行并且可能产生内存碎片复制算法(Copying)将现有的