外贸做的好的网站,做全网vip电影网站违法吗,辽宁省住房与城乡建设厅网站,公众号制作编辑器关于作者#xff1a;CSDN内容合伙人、技术专家#xff0c; 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 #xff0c;擅长java后端、移动开发、商业变现、人工智能等#xff0c;希望大家多多支持。 未经允许不得转载 目录 一、导读二、概览三、问题记录四、 推… 关于作者CSDN内容合伙人、技术专家 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 擅长java后端、移动开发、商业变现、人工智能等希望大家多多支持。 未经允许不得转载 目录 一、导读二、概览三、问题记录四、 推荐阅读 一、导读
我们继续总结学习遇到的问题温故知新。
今天遇到一个线上问题启动就闪退比较坑在此做一个记录防止掉坑。
二、概览
我们在启动时做了一个启动图的优化启动时让用户看到公司的logo同时解决黑屏、白屏问题这时也给用户一个假象感觉启动起来很快一样。
但是上线后包了一些错误 如下
java.lang.RuntimeException:Unable to start activity ComponentInfo{com.qxx/com.qxx.Activity}: android.view.InflateException: Binary XML file line #9: Error inflating class unknown
2
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:26913)Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #51: bitmap requires a valid src attributejava.lang.RuntimeException:Unable to start activity ComponentInfo{com.xx/com.xx.Activity}: android.content.res.Resources$NotFoundException: File res/xyadx.xml from drawable resource ID #xxxx
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:25211)
......
Caused by:
org.xmlpull.v1.XmlPullParserException:Binary XML file line #91: bitmap requires a valid src attribute# main(1)org.xmlpull.v1.XmlPullParserExceptionBinary XML file line #9: bitmap requires a valid src attributejava.lang.RuntimeException:Unable to start activity ComponentInfo{com.xxx/com.xxxActivity}: android.content.res.Resources$NotFoundException: Drawable com.xxx:drawable/loading_bg with resource ID #0x7xxf2
android.app.ActivityThread.performLaunchActivity(ActivityThread.java:27681)
......
Caused by:
org.xmlpull.v1.XmlPullParserException:Binary XML file line #19: bitmap requires a valid src attribute三、问题记录
配置上中下三个image再配个背景更显高大上
?xml version1.0 encodingutf-8?
layer-list xmlns:androidhttp://schemas.android.com/apk/res/android全局背景itemcolor android:color#FFFFFF //item配置上中下三个imageitembitmapandroid:gravitytopandroid:srcdrawable/loading_bg //itemitemandroid:bottomdimen/dp_10bitmapandroid:gravitycenterandroid:srcdrawable/loading_slogan //itemitembitmapandroid:gravitybottomandroid:srcdrawable/loading_buttom_logo //item
/layer-list我们一起看看源码报错的地方 BitmapDrawable.java
/*** Updates the constant state from the values in the typed array.*/private void updateStateFromTypedArray(TypedArray a, int srcDensityOverride)throws XmlPullParserException {final Resources r a.getResources();final BitmapState state mBitmapState;final int srcResId a.getResourceId(R.styleable.BitmapDrawable_src, 0);if (srcResId ! 0) {...一系列的操作后根据resid去获取bitmap如果bitmap为空则会抛出异常Bitmap bitmap null;try (InputStream is r.openRawResource(srcResId, value)) {ImageDecoder.Source source ImageDecoder.createSource(r, is, density);bitmap ImageDecoder.decodeBitmap(source, (decoder, info, src) - {decoder.setAllocator(ImageDecoder.ALLOCATOR_SOFTWARE);});} catch (Exception e) {}if (bitmap null) {throw new XmlPullParserException(a.getPositionDescription() : bitmap requires a valid src attribute);}}...}一系列的操作后根据resid去获取bitmap如果bitmap为空则会抛出异常
分析原因后我们得出结论
bitmap 使用 src来引用 android:src的src不允许为xml drawablessrc引用的图片资源在多分辨率下都要有不让容易出问题
四、 推荐阅读
Java 专栏
SQL 专栏
数据结构与算法
Android学习专栏
未经允许不得转载