我需要的內存大的量,我嘗試測試:Android的虛擬機總內存的最大內存
long max = Runtime.getRuntime().maxMemory();
long available = Runtime.getRuntime().totalMemory();
long free = Runtime.getRuntime().freeMemory();
AssetManager manager = getApplicationContext().getAssets();
ArrayList<Bitmap> list = new ArrayList<Bitmap>();
for (int i = 0; i < 34; i++) {
try {
Bitmap btm = BitmapFactory.decodeStream(manager.open("image.png"));
list.add(btm);
} catch (IOException e) {
e.printStackTrace();
}
Log.d("Total ", Runtime.getRuntime().totalMemory()/1024f/1024f + "");
Log.d("Free ", Runtime.getRuntime().freeMemory()/1024f/1024f + "");
}
//dont let vm to clear bitmaps
for (Bitmap object : list) {
object.setDensity(Bitmap.DENSITY_NONE);
}
Log.d("Total ", Runtime.getRuntime().totalMemory()/1024f/1024f + "");
Log.d("Free ", Runtime.getRuntime().freeMemory()/1024f/1024f + "");
我測試了這一點,它拋出內存溢出(VM不能讓爲這個應用程序分配超過5 MB)
設備(例如燒火)最大= 64 MB,總= 5MB免費2.3 MB和,如果我使用更多然後5 MB(總存儲器)VM力接近上。 是否有可能增加VM堆大小MaxMemory(64)?
我正在編寫的應用程序將工作在我需要模擬器的所有設備上? 0.o – Androider 2012-02-06 07:20:31