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之类的情况。
相关文章推荐
- cocos2dx 在android手机输入特殊字符导致程序崩溃
- Android app优化之导致app 卡顿慢的直接原因
- Android中调用手机自带输入法比如三星s5830i,仅限制输入浮点数,崩溃的原因
- Android app优化之导致app 卡顿慢的直接原因
- Android 常见导致OOM的主要原因
- Android深入浅出系列之实例应用—手机页面之间的跳转
- Android系列实例之:手机电池还剩多少
- 智能手机应用取证系列之三:腾讯微博Android手机客户端取证分析
- 智能手机应用取证系列之四:京东商城Android客户端取证
- C代码中字符串常量中如果直接输入回车导致不识别的原因分析.
- 这是/etc/udev/rules.d/51-android.rules文件的内容,Ubuntu不能直接识别android手机的usb接入,需要配置一下该文件。
- Android深入浅出系列之实例应用—手机页面之间的跳转
- HTC Android 系列手机 工程测试命令
- 手机/平板 framework下缺失com.google.android.maps.jar 导致 INSTALL_FAILED_MISSING_SHARED_LIBRARY 的解决办法。
- 探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
- milestone等系列android手机无法adb下使用sqlite3问题
- 分析总结导致Web站点崩溃最常见的七大原因
- 智能手机应用取证系列之一:新浪微博android应用程序取证分析
- 项目经理案头手册学习系列【16】——导致项目失败的原因
- Android 技术专题系列之十五 -- 更新开发手机到1.5