我一直在研究我的应用程序中的内存使用情况。
因此,为了了解内存使用情况,我编写了一些运行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
,对吗?还有一个问题,当我的应用程序加载其他动画时,
NativeSize
varys。我想NativeSize
是固定的。 最佳答案
(蜂窝前):
ADNRoid中有两个堆。Dalvik heap
和native heap
。应用程序数据存储在dalvik堆中,位图除外。对于位图,图像元数据存储在dalvik堆中,而实际位图像素数据存储在本机堆中。NativeSize
是应用程序在native heap
上使用的内存量。例如,如果加载更多图像,您将看到NativeSize
将增长。这就是为什么当应用程序加载其他动画时,nativeSize会发生变化的原因。
我想NativeFree
,DalvikFree
是释放的字节,所以它与NativeSize - NativeAlloc
无关。
更多信息请参见:
http://www.youtube.com/watch?v=_CruQY55HOk
关于android - android中的荒谬proc/meminfo。 “大小”是什么意思?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8382732/