3

首先,我想在這裏爲Honeycomb粘貼一些GC日誌消息。Android的日誌消息的含義

03-08 01:31:54.354: D/dalvikvm(258): GC_CONCURRENT freed 196K, 5% free 7078K/7431K, paused 3ms+3ms 
03-08 01:31:54.494: D/dalvikvm(258): GC_FOR_ALLOC freed 4K, 5% free 7073K/7431K, paused 75ms 
03-08 01:31:54.494: I/dalvikvm-heap(258): Grow heap (frag case) to 7.391MB for 411152-byte allocation 

我在這裏有4個問題。

  1. 我看在谷歌I/O 2011年,但我仍然不清楚5%免費7078K/7431K視頻 「Android Memory Management」。這意味着我們在7431K堆大小中使用7078K,但7431K在這裏意味着什麼?因爲我注意到7431K會達到很多。是否有這個號碼的任何政策?如果這意味着總堆大小,它應該是16M或32M或類似that.But這裏顯然不是..

  2. 蜂窩也有消息像Grow heap (frag case) to 7.391MB for 411152-byte allocation,這薑餅沒有。這是什麼意思?

  3. Honeycomb中的GC日誌消息和更高版本不顯示外部存儲器信息,如「external xxxK/xxxK」,爲什麼?

  4. 我還注意到,在ICS和更高版本中,GC日誌消息的總時間也類似於GC_FOR_ALLOC freed 190K, 13% free 5409K/6164K, paused 67ms, total 71ms,但此處alloc的總時間大於暫停時間,有時您會注意到總時間會更長比暫停的時間。爲什麼?

回答

0

在點3(關於外部存儲器信息),也可能是因爲位圖是Dalvik的存儲器比外部存儲器的一部分現在,因此存在於垃圾收集器的外部存儲器相關性不大。