我用下面的代碼段在我的onCreate()方法:糖果粉碎內存分配 - 大堆?
ActivityManager am = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
Log.d("test", "Memory Class=" + am.getMemoryClass());
int maxMB = (int) ((Runtime.getRuntime().maxMemory()/1024)/1024);
Log.d("test", "Memory maxMB=" + maxMB);
int totalMB = (int) ((Runtime.getRuntime().totalMemory()/1024)/1024);
Log.d("test", "Memory totalMB=" + totalMB);
這導致: 內存類:96MB, 最大內存:96MB, 總內存:15MB,
然後我安裝了一個應用程序,顯示正在運行的應用程序正在使用的內存,我發現Candy Crush使用了175 MB,這比我獲得的最大值(96MB)大得多。這怎麼可能?這是否意味着他們在清單中使用「largeHeap = true」?我所知道的是,Android官方網站嚴格禁止開發者使用此標誌。