anu*_*har 2 android android-memory
当我多次启动和退出我的应用程序时,其RAM使用量增加超过500 MB.当我检查内存转储使用adb shell dumpsys meminfo 我检查未知pss value是问题的原因.什么是大pss值的原因以及如何降低pss值.
Shared Private Heap Heap Heap
Pss Dirty Dirty Size Alloc Free
------ ------ ------ ------ ------ ------
Native 0 0 0 534460 531827 1604
Dalvik 51013 17868 50664 90480 82266 8214
Cursor 0 0 0
Ashmem 0 0 0
Other dev 14292 52 14288
.so mmap 3810 2320 1720
.jar mmap 0 0 0
.apk mmap 1305 0 0
.ttf mmap 0 0 0
.dex mmap 2960 0 0
Other mmap 1738 440 236
Unknown 504718 296 384284
TOTAL 579836 20976 451192 624940 614093 9818
Run Code Online (Sandbox Code Playgroud)
我发现了高RAM使用率的原因.当我分析应用程序的本机堆转储时,我知道库的实例libharfbuzz.so占用了巨大的空间,并且该库用于显示字体,所以当我检查代码时,在代码的位置有很多实例的TypeFacecretaed.由于TypeFace在本机内存中分配,它使本机堆大小很大,这就是RAM使用率更高的原因.我删除了这些实例并创建了单个TypeFace实例并在我的应用程序中使用它,并且RAM使用率降低了.
| 归档时间: |
|
| 查看次数: |
11542 次 |
| 最近记录: |