1、在AndroidXML是经常且必须要做的,不正规配置XML时会导致有些手机崩溃,而有些手机却没有问题。比如:小米2s,小米3,小米4绝对会出问题,别的机型错误软件。2、还有种情况就是XML引用一个自定义一个View的时候,构造器当中少写了个构造,这种情况少写了全部机型都会报错。public LoadingView(Context context, AttributeSet attrs){super(context, attrs);}问题日志大致如下:
E/dalvikvm-heap(29797): Out of memory on a 2791984-byte allocation.
E/AndroidRuntime(29797): FATAL EXCEPTION: main
全部是 “E/AndroidRuntime(29797):”这种标识的错误,后续省略之
android.view.InflateException: Binary XML file line #148: Error inflating classat android.view.LayoutInflater.createView(LayoutInflater.java:684)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at com.android.internal.policy.impl.MiuiPhoneLayoutInflater.onCreateView(MiuiPhoneLayoutInflater.java:44)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:731)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:756)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:817)
·············· ··············· ··············
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:417)
at android.view.LayoutInflater.createView(LayoutInflater.java:658)
·············· ··············· ··············
Caused by: java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:502)
at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:355)
at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:827)
at android.content.res.Resources$Injector.createFromResourceStream(Resources.java:83)
at android.content.res.Resources.loadDrawable(Resources.java:2003)
at android.content.res.MiuiResources.loadDrawable(MiuiResources.java:324)
at android.content.res.TypedArray.getDrawable(TypedArray.java:601)
at android.view.View.(View.java:3414)
at android.view.View.(View.java:3343)
at android.view.ViewGroup.(ViewGroup.java:538)
at android.widget.RelativeLayout.(RelativeLayout.java:210)
… 24 more第一种情况就是布局图片过大引起的内存溢出,比如"android:background="@drawable/welcome_bacgroud",android:src="@drawable/loader_frame_1"设置的图片内存过过于大可能就会引起内存溢出的可能。解决方案:对图片尽可能的进行压缩。
------------------------------------------------------------------------------------------------------
查阅相关资料时,网上有传控件关键字写错了,可以编译通过,但运行报错,提示好像也是类似log信息,
例如:TextView写成textView或者Textview之类的情况。