最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Grow heap (frag case) 堆內存過大的深入解析

 更新時間:2013年06月15日 15:47:49   作者:  
本篇文章是對Grow heap (frag case) 堆內存過大的問題進行了詳細的分析介紹,需要的朋友參考下

對于Android開發(fā)者來說雖然使用了可以自動管理內存的Java語言,但是對于內存管理不當,可能你的應用不斷出現(xiàn)類似INFO/dalvikvm-heap(10798): Grow heap (frag case) to 6.437MB for 1114126-byte allocation,而出現(xiàn)的
Grow heap 后面的值不斷增加,接下來輕微則Android系統(tǒng)開始結束后臺任務來增加不斷增加的堆內存問題,最后可能直接出現(xiàn)OOM,同時有時候GC還可能出現(xiàn)GC freed 0 objects / 0 bytes in 75ms這樣的問題,對于Java的內存管理我們近期已經(jīng)說到了,就上面這些問題Android123給大家做一個簡單的分析。

1. 這里Grow heap (frag case) to 6.437MB for 1114126-byte allocation表示你一直在分配一個較大的對象,占用的堆內存達到了6.4MB。

2. 為什么會出現(xiàn)這樣的問題,經(jīng)過詢問表示是因為分配了一個byte[]數(shù)組,需要以Blob方式寫入SQLite數(shù)據(jù)庫,而造成的這么大的單個對象出現(xiàn),這里Android開發(fā)網(wǎng)提醒大家,這是很危險的操作,對于不同固件和低RAM配置的設備隨時都有OOM的危險,如果你真的需要往SQLite存儲二進制,這里可以采用分段的方式,將某個對象拆分為1MB或更小,分更多的段來存放,中間加一層拆分數(shù)據(jù)緩存層來解決比較好。

3. 同時每次構造單個較大對象前,可以通知gc準備收集,比如在執(zhí)行需要耗操作前執(zhí)行System.gc(); 防止OutOfMemoryError的發(fā)生,對于Java的內存溢出問題,今后我們會通過各種案例來講解。

 

相關文章

最新評論

奇台县| 丽水市| 巴东县| 化德县| 鹤壁市| 湖北省| 炉霍县| 扶风县| 云梦县| 古田县| 修武县| 二连浩特市| 青神县| 新津县| 广河县| 邵东县| 稷山县| 长顺县| 博白县| 江源县| 石嘴山市| 永胜县| 黄冈市| 香格里拉县| 浪卡子县| 水富县| 宝清县| 河南省| 安多县| 区。| 长沙县| 苍溪县| 桃园县| 沁源县| 洮南市| 合肥市| 密山市| 通州区| 肇源县| 延长县| 米易县|