android触发GC回收的条件

来源:互联网 发布:淘宝童装店铺简介范文 编辑:程序博客网 时间:2024/05/19 03:44
android触发垃圾回收的原因有以下5种:


1.当堆内存增长到一定程度时会触发。此时触发可以对堆中的没有用的对象及时进行回收,腾出空间供新的对象申请,避免进行不必要的增大堆内存的操作。
2.当程序中调用System.gc()方法触发。这个方法应避免出现在程序中调用。因为JVM有足够的能力来控制垃圾回收。
3.当Bitmap和NIO Direct ByteBuffer对象分配外部存储(机器内存,非Dalvik堆内存)触发。这个日志只有在2.3之前存在,从2.3系统开始,垃圾回收进行了调整,前面的对象都会存储到Dalivik堆内存中。所以在2.3系统之后,你就再也不会看到这种信息了。
4.当堆内存已满,系统需要更多内存的时候触发。这条日志出现后意味着JVM要暂停你的程序进行垃圾回收操作。
5.当创建一个内存分析文件HPROF时触发。
详情见:http://blog.csdn.net/forlong401/article/details/41008405 这篇文章介绍了触发垃圾回收的条件以及原因。
0 0