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

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 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.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.<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"设置的图片内存过过于大可能就会引起内存溢出的可能。

解决方案:对图片尽可能的进行压缩。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值