首先,我想在這裏爲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個問題。
我看在谷歌I/O 2011年,但我仍然不清楚5%免費7078K/7431K視頻 「Android Memory Management」。這意味着我們在7431K堆大小中使用7078K,但7431K在這裏意味着什麼?因爲我注意到7431K會達到很多。是否有這個號碼的任何政策?如果這意味着總堆大小,它應該是16M或32M或類似that.But這裏顯然不是..
蜂窩也有消息像
Grow heap (frag case) to 7.391MB for 411152-byte allocation
,這薑餅沒有。這是什麼意思?Honeycomb中的GC日誌消息和更高版本不顯示外部存儲器信息,如「external xxxK/xxxK」,爲什麼?
我還注意到,在ICS和更高版本中,GC日誌消息的總時間也類似於
GC_FOR_ALLOC freed 190K, 13% free 5409K/6164K, paused 67ms, total 71ms
,但此處alloc的總時間大於暫停時間,有時您會注意到總時間會更長比暫停的時間。爲什麼?