日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android中垃圾回收日志信息

發布時間:2024/4/14 Android 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android中垃圾回收日志信息 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原因

GC_CONCURRENTfreed 178K, 41% free 3673K/6151K, external 0K/0K, paused 2ms+2ms
GC_EXPLICITfreed 6K, 41% free 3667K/6151K, external 0K/0K, paused 29ms

紅顏色標出的部分就是垃圾回收觸發的原因。在Android中有五種類型的垃圾回收觸發原因。

  • GC_CONCURRENT當堆內存增長到一定程度時會觸發。此時觸發可以對堆中的沒有用的對象及時進行回收,騰出空間供新的對象申請,避免進行不必要的增大堆內存的操作。
  • GC_EXPLICIT當程序中調用System.gc()方法觸發。這個方法應避免出現在程序中調用。因為JVM有足夠的能力來控制垃圾回收。
  • GC_EXTERNAL_MALLOC當Bitmap和NIO Direct ByteBuffer對象分配外部存儲(機器內存,非Dalvik堆內存)觸發。這個日志只有在2.3之前存在,從2.3系統開始,垃圾回收進行了調整,前面的對象都會存儲到Dalivik堆內存中。所以在2.3系統之后,你就再也不會看到這種信息了。
  • GC_FOR_MALLOC當堆內存已滿,系統需要更多內存的時候觸發。這條日志出現后意味著JVM要暫停你的程序進行垃圾回收操作。
  • GC_HPROF_DUMP_HEAP當創建一個內存分析文件HPROF時觸發。

結果

GC_CONCURRENTfreed 178K, 41% free 3673K/6151K, external 0K/0K, paused 2ms+2ms
GC_EXPLICITfreed 6K, 41% free 3667K/6151K, external 0K/0K, paused 29ms

這部分數據告訴我們JVM進行垃圾回收釋放了多少空間。

堆內存數據

GC_CONCURRENT freed 178K,41% free 3673K/6151K, external 0K/0K, paused 2ms+2ms
GC_EXPLICIT freed 6K,41% free 3667K/6151K, external 0K/0K, paused 29ms

這部分告訴我們堆內存中可用內存占的比例,當前活躍的對象總的空間,以及當前堆的總大小。所以這里的數據就是41%的堆內存可用,已經使用了3673K,總的堆內存大小為6151K。

外部存儲數據

GC_EXTERNAL_ALLOC freed 1125K, 47% free 6310K/11847K,external 1051K/1103K, paused 46ms
GC_EXTERNAL_ALLOC freed 295K, 47% free 6335K/11847K,external 1613K/1651K, paused 41ms

這部分數據告訴我們外部存儲(位于機器內存)對象的數據。在2.3之前,bitmap對象存放在機器內存。因此在第一條數據中我們可以看到以有1051K使用,外部存儲為1103K。

上面兩行數據相差100毫秒,我們可以看到第一條數據表明外部存儲快滿了,由于GC_EXTERNAL_ALLOC被觸發,外部存儲空間擴大到了1651K。

垃圾回收暫停時間

GC_CONCURRENT freed 178K, 41% free 3673K/6151K, external 0K/0K,paused 2ms+2ms
GC_EXPLICIT freed 6K, 41% free 3667K/6151K, external 0K/0K,paused 29ms

這部分數據表明垃圾回收消耗的時間。在GC_CONCURRENT回收時,你會發現兩個暫停時間。一個是在回收開始的暫停時間,另一個時在回收結束的暫停時間。GC_CONCURRENT從2.3開始引入,相比之前的程序全部暫停的垃圾回收機制,它的暫停時間要小的多。一般少于5毫秒。因為GC_CONCURRENT的絕大多數操作在一個單獨的線程中進行。

總結

以上是生活随笔為你收集整理的Android中垃圾回收日志信息的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。