0
我正在做一个Android应用程序,并且我在报告中出现了一些与“内存异常”有关的问题,经过网上的很多搜索之后,我发现android:background正在将内存中的背景图像加载。SetBackgroundDrawable在内存中加载图像?
,所以我会删除我所有的“机器人:背景”的声明在我的XML文件,并替换:
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”在内存中加载图片还是不是?
它可以减少“内存不足”的麻烦,如果我加载每个图像在一个好的缩放? – theMouk 2013-03-19 10:57:34
最好是预先缩放图像并将其放入res文件夹中。您可以针对不同的屏幕尺寸或密度制定不同的比例尺http://developer.android.com/guide/topics/resources/providing-resources.html – 2013-03-19 12:08:33