在应用程序中,我需要在创建时加载一些位图。 为了节省内存我加载一个图像,通过创建一个scaledBitmap重新缩放它,循环使用未缩放的位图:
bmpUnscaled = BitmapFactory.decodeResource(getResources(), R.drawable.cultivation_plant_resized_1);
plant1 = Bitmap.createScaledBitmap(bmpUnscaled,(int) plant[0].getWidth(), (int) plant[0].getHeight(), true);
bmpUnscaled.recycle();
System.gc();
bmpUnscaled = BitmapFactory.decodeResource(getResources(), R.drawable.cultivation_plant_resized_2);
plant2 = Bitmap.createScaledBitmap(bmpUnscaled,(int) plant[0].getWidth(), (int) plant[0].getHeight(), true);
bmpUnscaled.recycle();
System.gc();
依旧......
我正在做这10个图像,它们相对于屏幕分辨率进行缩放。 原始图像是PNG(570x900(最大660KB))
有人有一些想法来节省记忆吗? 我现在绝望了......
答案 0 :(得分:0)
您是否阅读过:http://developer.android.com/training/displaying-bitmaps/load-bitmap.html?
本文包含有关使用BitMap的重要信息。