我一直在研究我的应用程序中的内存使用情况。
因此,为了了解内存使用情况,我编写了一些运行meminfo的脚本(每行在10秒后显示)

NativeSize DalvikSize TotalSize
89556   5895    95451
89556   5959    95515
89556   6023    95579
89556   6087    95643
89556   6151    95707
89556   6215    95771
89556   6279    95835

NativeAlloc DalvikAlloc TotalAlloc
13943   3238    17181
15959   3334    19293
16264   3390    19654
16570   3447    20017
16877   3503    20380
17177   3559    20736
17251   3636    20887

NativeFree  DalvikFree  TotalFree
376 2657    3033
8   2625    2633
27  2633    2660
44  2640    2684
26  2648    2674
42  2656    2698
280 2643    2923

NativeFree = NativeSize - NativeAlloc,对吗?
还有一个问题,当我的应用程序加载其他动画时,NativeSizevarys。我想NativeSize是固定的。

最佳答案

(蜂窝前):
ADNRoid中有两个堆。Dalvik heapnative heap。应用程序数据存储在dalvik堆中,位图除外。对于位图,图像元数据存储在dalvik堆中,而实际位图像素数据存储在本机堆中。
NativeSize是应用程序在native heap上使用的内存量。例如,如果加载更多图像,您将看到NativeSize将增长。这就是为什么当应用程序加载其他动画时,nativeSize会发生变化的原因。
我想NativeFreeDalvikFree是释放的字节,所以它与NativeSize - NativeAlloc无关。
更多信息请参见:
http://www.youtube.com/watch?v=_CruQY55HOk

关于android - android中的荒谬proc/meminfo。 “大小”是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8382732/

10-11 22:44
查看更多