我使用以下API来检查我的应用可以使用的内存,并获得以下结果。
Runtime rt = Runtime.getRuntime();
long maxMemory = rt.maxMemory();
Log.v("onCreate", "maxMemory:" + Long.toString(maxMemory));
ActivityManager am = (ActivityManager) getSystemService(ACTIVITY_SERVICE);
int memoryClass = am.getMemoryClass();
Log.v("onCreate", "memoryClass:" + Integer.toString(memoryClass));
V / onCreate:maxMemory:402653184
V / onCreate:memoryClass:64
但是,当我启动我的应用程序时,它显示5MB分配和1 MB免费。 我假设整个64 MB将用于应用程序,并假设如果从64MB分配5MB,那么59MB应该是免费的。
随着我使用该应用程序的进展,分配的堆大小正在增长,其间存在大量GC原因,这会影响UI性能。
有人能让我理解这个过程。
这会以这种方式工作吗?
由于