Android SetBackgroundDrawable是否在内存中加载图像?

Android SetBackgroundDrawable是否在内存中加载图像?,android,background-drawable,Android,Background Drawable,我正在制作一个Android应用程序,我在报告中遇到了“内存不足异常”的问题,在网上多次搜索后,我发现Android:background正在内存中加载背景图像 因此,我将删除XML文件中的所有“android:background”声明,并将其替换为: background = new BitmapDrawable(getResources(),ImageFactoring.decodeSampledBitmapFromResource(getResources(), R.drawab

我正在制作一个Android应用程序,我在报告中遇到了“内存不足异常”的问题,在网上多次搜索后,我发现Android:background正在内存中加载背景图像

因此,我将删除XML文件中的所有“android:background”声明,并将其替换为:

    background = new BitmapDrawable(getResources(),ImageFactoring.decodeSampledBitmapFromResource(getResources(), R.drawable.catalogue_button_poeles_bois, mMaxButton_Cheminees.getLayoutParams().width, mMaxButton_Cheminees.getLayoutParams().height));
    mMaxButton_Cheminees.setBackgroundDrawable(background);

在此之前,我想知道“setBackgroundDrawable”是否正在将图片加载到内存中?

当然,它是这样的。你们在显示屏上看到的都是储存在im存储器中的信息。设置背景后,将立即加载背景。从xml膨胀时或显式设置时。不要将大于所需大小的图像用作资源。尽量避免使用大型HQ图像。

如果我以良好的缩放比例加载每个图像,是否可以减少“内存不足”的问题?最好预先缩放图像并将其放入res文件夹中。对于不同的屏幕大小或密度,可以使用不同的比例