欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
android java內存與native內存

GC_EXTERNAL_ALLOC freed 與 GC_EXPLICIT freed 是什么?

09-28 17:16:37.543: DEBUG/dalvikvm(21466): GC_EXTERNAL_ALLOC freed 390 objects / 45656 bytes in 50ms
09-28 17:16:40.513: DEBUG/dalvikvm(3267): GC_EXPLICIT freed 4501 objects / 251624 bytes in 67ms

很多做開(kāi)發(fā)的朋友不明白上面這句是什么意思,給大家解釋一下! 

前面Free的內存是VM中java使用的內存,external是指VM中通過(guò)JNI中Native的類(lèi)中的malloc分配出的內存,例如Bitmap和一些Cursor都是這么分配的。
在Davilk中,給一個(gè)程序分配的內存根據機型廠(chǎng)商的不同,而不同,現在的大部分的是32M了,而在VM內部會(huì )把這些內存分成java使用的內存和 Native使用的內存,它們之間是不能共享的,就是說(shuō)當你的Native內存用完了,現在Java又有空閑的內存,這時(shí)Native會(huì )重新像VM申請,而不是直接使用java的。
例如上邊的例子
free 3411K/6663K和external 24870K/26260K
如果這時(shí)需要創(chuàng )建一個(gè)2M的

Bitmap
,Native現有內存26260-24870=1390K<2048k,因此他就會(huì )向Vm申請內存,雖然java空閑的內存是
6663-3411=3252>2048,但這部分內存Native是不能使用。
但是你現在去申請2M的Native內存,VM會(huì )告訴你無(wú)法分配的,因為現在已使用的內存已經(jīng)接近峰值了32M(26260+6663=32923 ),所以現在就會(huì )成force close 報OOM。
所以現在我們要檢查我們的native內存的使用情況來(lái)避免OOM。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Java finalize() 和System.gc()
android app內存使用限制
聊下JVM內存模型
項目經(jīng)理退休前給手下的程序員講解的最后一個(gè)Java知識要點(diǎn)!
jvm介紹(很好的一篇文章)
jvm內存調優(yōu)經(jīng)驗總結
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久