您的位置:首页 > 移动开发 > Android开发

Android中导致小米系列手机直接崩溃的主要原因。

2014-11-03 11:36 471 查看
1、在AndroidXML是经常且必须要做的,不正规配置XML时会导致有些手机崩溃,而有些手机却没有问题。
比如:小米2s,小米3,小米4绝对会出问题,别的机型错误软件。
2、还有种情况就是XML引用一个自定义一个View的时候,构造器当中少写了个构造,这种情况少写了全部机型都会报错。
public LoadingView(Context context, AttributeSet attrs)<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>super(context, attrs);
<span style="white-space:pre">	</span>}
问题日志大致如下: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 class <unknown>at 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.InvocationTargetExceptionat 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.OutOfMemoryErrorat 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.<init>(View.java:3414)at android.view.View.<init>(View.java:3343)at android.view.ViewGroup.<init>(ViewGroup.java:538)at android.widget.RelativeLayout.<init>(RelativeLayout.java:210)… 24 more
第一种情况就是布局图片过大引起的内存溢出,
比如"android:background="@drawable/welcome_bacgroud",
android:src="@drawable/loader_frame_1"设置的图片内存过过于大可能就会引起内存溢出的可能。
解决方案:对图片尽可能的进行压缩。
------------------------------------------------------------------------------------------------------查阅相关资料时,网上有传控件关键字写错了,可以编译通过,但运行报错,提示好像也是类似log信息,例如:TextView写成textView或者Textview之类的情况。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐