android觸發GC回收的條件
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 這篇文章介紹了觸發垃圾回收的條件以及原因。