加载位图时出现Android OutOfMemory错误

时间:2014-07-12 21:13:27

标签: android memory bitmap

在应用程序中,我需要在创建时加载一些位图。 为了节省内存我加载一个图像,通过创建一个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))

有人有一些想法来节省记忆吗? 我现在绝望了......

1 个答案:

答案 0 :(得分:0)

您是否阅读过:http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

本文包含有关使用BitMap的重要信息。