android.view.InflateException: Binary XML file line #53: Error inflating class <unknown>

来源:互联网 发布:淘宝开店教程全集30 编辑:程序博客网 时间:2024/06/05 20:04

l 从一个界面跳转到另一个界面出现闪退,报错提示:


android.view.InflateException: Binary XML file line #53:Error inflating class <unknown>


从stackoverflow找到的解决方案:当运行的时候,安卓会改变图片的大小(基于屏幕的尺寸和分辨率),安卓使用bitmap去重新改变图片的尺寸。所以,这个是内存非常敏感的行为。一个快速的解决方法是,将比较大的图片复制到drawable-ldpi,mdpi, hdpi 文件夹中。安卓会自动选择合适的文件并且重新改变他们的大小,

(上面是对stackoverflow的解释)


从stackoverflow找到的解决方案:

   当运行的时候,安卓会改变图片的大小(基于屏幕的尺寸和分辨率),安卓使用bitmap去重新改变图片的尺寸。所以,这个是内存非常敏感的行为。一个快速的解决方法是,将比较大的图片复制到drawable-ldpi,mdpi, hdpi 文件夹中。安卓会自动选择合适的文件并且重新改变他们的大小,

(上面是对stackoverflow的解释)


但是,这样并没有解决,不过问题找对了,有时间学习一下bitmap再去解决,我用的方法是将产生报错的图片换了一张小一点的。


l 在尝试解决上一个问题时,用了如下方法:


//减少图片占用的内存   //低碳界面的背景图片
InputStream is = this.getResources().openRawResource(+R.mipmap.low_carbon_background);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = false;
options.inSampleSize = 1;   //width,hight设为原来的十分一
Bitmap btp = BitmapFactory.decodeStream(is,null, options);

//低碳的背景图片
low_carbon_background =(LinearLayout) findViewById(R.id.low_carbon_background);
Drawable drawable = new BitmapDrawable(this.getResources(), btp);
low_carbon_background.setBackground(drawable);
阅读全文
0 0
原创粉丝点击