OutOfMemory 错误,不知道如何设置位图

OutOfMemory error, and no idea how to set up bitmaps

抱歉,如果这个问题有点明显,但我已经创建了一个应用程序,它在主屏幕上包含一堆自定义按钮。一开始,一切正常,但后来我做了一些东西,不知道是什么,不幸的是我忘记了我做了什么。但是现在,我遇到了这个烦人的 OutOfMemory 错误,而且由于我不是编程专家,所以我现在只能解决这个问题。我已经尝试设置管理位图内存,还下载了示例应用程序,但我在那里迷路了,我什至没有找到看起来像主屏幕的东西。

我曾尝试将此代码从开发人员站点放入我的 MainScreen.java,但我认为这不是它的工作方式:

//.......old code(not important)........

如果有人能帮助我,我会很高兴,我在这个问题上被困了大约 3 个小时。

更新

我现在正在尝试缩小我所有的图像,然后是这个 (Android dev link) 我已经这么远了(以下代码来自我的 MainScreen,这是我的主要活动):

    //....................
    @Override
        public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    BitmapFactory.Options options = new BitmapFactory.Options();
            options.inJustDecodeBounds = true;
            BitmapFactory.decodeResource(getResources(), R.id.imageView1, options);
            int imageHeight = options.outHeight;
            int imageWidth = options.outWidth;
            String imageType = options.outMimeType;
            BitmapFactory.decodeResource(getResources(), R.drawable.hiscr, options);
            BitmapFactory.decodeResource(getResources(), R.drawable.sharebutton, options);
            BitmapFactory.decodeResource(getResources(), R.drawable.buttongame, options);
            BitmapFactory.decodeResource(getResources(), R.drawable.buttongame1, options);
            BitmapFactory.decodeResource(getResources(), R.drawable.btn_start, options);
            BitmapFactory.decodeResource(getResources(), R.drawable.btn_start2, options);
            BitmapFactory.decodeResource(getResources(), R.drawable.btn_start3, options);
            BitmapFactory.decodeResource(getResources(), R.drawable.btn_start3locked, options);
            BitmapFactory.decodeResource(getResources(), R.drawable.btn_start2locked, options);
            }
    //.........up there i'm trying to decode all my stuff, It contains buttons.xml , images and imageviews. 

//..................In the code below I'm trying to get the downscaled pictures.
      public static int calculateInSampleSize(
                BitmapFactory.Options options, int reqWidth, int reqHeight) {
        // Raw height and width of image
        final int height = options.outHeight;
        final int width = options.outWidth;
        int inSampleSize = 1;

        if (height > reqHeight || width > reqWidth) {

            final int halfHeight = height / 2;
            final int halfWidth = width / 2;

            // Calculate the largest inSampleSize value that is a power of 2 and keeps both
            // height and width larger than the requested height and width.
            while ((halfHeight / inSampleSize) > reqHeight
                    && (halfWidth / inSampleSize) > reqWidth) {
                inSampleSize *= 2;
            }
        }

        return inSampleSize;
    }
        //...............

我可以将 decodeResource 用于所有内容吗,如上面所列的 xml 中的自定义按钮、drawable 文件夹中的 pictures.png 以及 layout.xml 中的图像视图?

毕竟它不起作用,我仍然收到内存不足错误。

如果不需要,请不要一次加载所有图片。此外,使用 bitmap.recycle() 删除位图并在完成位图后节省内存。您需要每个按钮图标吗?