2015-10-19 61 views
1

这是我的一个概念性疑问。请求某人解决我的疑问。我有一个4.5MB的应用程序,我正在计算应用程序中进程的内存使用情况。我得到的每个进程的内存使用16MB ...这是否意味着应用程序的内存使用量与应用程序的大小相同

final Runtime rt = Runtime.getRuntime(); 
rt.gc(); 
final double startSize = rt.totalMemory()-rt.freeMemory(); 

我所得到的是正确的还是错误的?这是否意味着应用程序的内存使用是一样的应用程序的大小?

+0

可能意味着应用程序运行时正在使用16meg的内存。可以升降 – Tasos

+0

所以你的意思是没问题? –

回答

1

应用程序的大小是APK的大小。一旦安装到设备中,大小可能会因您在Database和SharedPreferences中的存储量而增加。

但是您提到的内存使用情况不同。这是您的应用在运行时使用的RAM内存。例如,如果您已经在图像视图中加载了2MB图像,则您的内存使用量将会增加。

+0

好的,为了理解它,我可以说内存使用与安装的应用程序的大小无关。内存使用量可能大于或小于应用程序的大小。 –

+0

是的。内存使用量是运行时内存。它在应用程序的生命周期中增加和减少。如果它变得太大,gc将被调用来减少它。这就是为什么如果你在Studio中的Android Monitor的“内存”中看到,你会看到图形上升和下降,然后上升。 – Henry

相关问题