一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

StevGuo系列文章翻譯之Android內(nèi)存泄漏檢測

 昵稱7324690 2012-08-25

StevGuo系列文章翻譯之Android內(nèi)存泄漏檢測

分類: Google Android 73人閱讀 評論(0) 收藏 舉報

原文:http://blog.csdn.net/a345017062/article/details/6083035

編譯完Android源碼后,會得到兩個bionic動態(tài)C庫,libc.so和libc_debug.so,為了能夠檢測內(nèi)存泄漏,我們應該首先在Android的rootfs中用libc_debug.so替換libc.so。在libc_debug.so庫中,Android隱藏了兩個可以用來檢測內(nèi)存泄漏的API:

void get_malloc_leak_info(uint8_t** info, size_t* overallSize, size_t* infoSize, size_t* totalMemory, size_t* backtraceSize);
void free_malloc_leak_info(uint8_t* info);

其中,info是我們分配的一塊內(nèi)存。overallSize是info的大小。infoSize是一個single entry的大小。totalMemory是我們跟蹤的所有內(nèi)存分配的總和,不包括heap。backtraceSize是back trace中的entry的最大數(shù)量。

我們可以在程序的開始和結(jié)束分別調(diào)用get_malloc_leak_info,然后比較差異,如果有什么不同,說明可能有內(nèi)存泄漏。

因為C++的new/delete也是基于C的malloc/free的,所以這個方法也可以檢測出C++的內(nèi)存泄漏。

如果你想知道bionic是如何實現(xiàn)這個功能的,可以參考bionic/libc/bionic/memory_leak.c。

如果想知道怎么樣使用這個功能,可以參考frameworks/base/media/libmediaplayerservice/MediaPlayerService.cpp。

你也可以像下面這樣獲取mediaplayer的內(nèi)存使用信息:

#dumpsys media.player –m

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产丝袜女优一区二区三区| 亚洲综合精品天堂夜夜| 麻豆国产精品一区二区三区| 中文字幕免费观看亚洲视频| 欧美一区二区三区喷汁尤物| 国产精品99一区二区三区| 国产盗摄精品一区二区视频| 亚洲一区二区三区日韩91| 欧美极品欧美精品欧美| 国产欧美日韩一级小黄片| 国产精品一区二区三区欧美| 国产又大又黄又粗的黄色| 欧美整片精品日韩综合| 亚洲欧美视频欧美视频| 中字幕一区二区三区久久蜜桃 | 日本av一区二区不卡| 日韩特级黄片免费观看| 久久精品国产99精品亚洲| 91人妻丝袜一区二区三区| 国产乱久久亚洲国产精品| 欧美亚洲综合另类色妞| 最新日韩精品一推荐日韩精品| 成人综合网视频在线观看| 98精品永久免费视频| 伊人久久青草地婷婷综合| 色哟哟精品一区二区三区| 日韩精品一区二区一牛| 青青免费操手机在线视频| 日韩欧美一区二区久久婷婷| 夫妻性生活一级黄色录像| 少妇人妻无一区二区三区| 91亚洲熟女少妇在线观看| 欧美精品亚洲精品日韩精品| 黄色国产一区二区三区| 欧美美女视频在线免费看| 欧美精品亚洲精品日韩精品| 99久久精品视频一区二区| 成人精品视频一区二区在线观看| 真实偷拍一区二区免费视频| 国产成人精品午夜福利av免费| 两性色午夜天堂免费视频|