[Android] App在三星某些机子上闪退:"不保留活动"
来源:互联网 发布:sql的聚合函数 编辑:程序博客网 时间:2024/05/20 07:50
今天遇到用户反映应用总是闪退。
现象:在MainActivity后,只要进入任何主进程相关的二级界面,都会导致应用闪退(注:不是崩溃引起的,只是闪退)
分析:1.看log日志,退出前有抛出异常,但查看该处代码发现异常已经被catch住,异常信息被打印出来而已。
2.怀疑是每个Activity实现时,其父类BaseActivity有干坏事,则重新自定义了一个Activity不继承自父类,发现现象仍存在,该Activity仍闪退。(vinney,thanks)
3.发现每次MainActivity的自定义的exitApp()都被调用了,设置断点,发现是由onDestory()发起的,而onDestory()则是由系统调用的。
4.怀疑每个Activity的onDestory()在从屏幕消失后都会被立即调用,写了个小demo,得到验证。开始怀疑是机子问题。
5.google关键字"三星 Activity 闪退"真相出来了,发一有笑点的帖子http://zhidao.baidu.com/question/493015963.html。至此定位原因。
原因:此三星设备中,有一个“开发者选项→不保留活动(用户离开后立即清除每个活动)”,即会导致进入从MainActivity离开后都会调用MainActivity.onDestory(),导致执行退出操作,闪退(edit by sodino)
恢复:取消掉“不保留活动”的选项即可
现象:在MainActivity后,只要进入任何主进程相关的二级界面,都会导致应用闪退(注:不是崩溃引起的,只是闪退)
分析:1.看log日志,退出前有抛出异常,但查看该处代码发现异常已经被catch住,异常信息被打印出来而已。
2.怀疑是每个Activity实现时,其父类BaseActivity有干坏事,则重新自定义了一个Activity不继承自父类,发现现象仍存在,该Activity仍闪退。(vinney,thanks)
3.发现每次MainActivity的自定义的exitApp()都被调用了,设置断点,发现是由onDestory()发起的,而onDestory()则是由系统调用的。
4.怀疑每个Activity的onDestory()在从屏幕消失后都会被立即调用,写了个小demo,得到验证。开始怀疑是机子问题。
5.google关键字"三星 Activity 闪退"真相出来了,发一有笑点的帖子http://zhidao.baidu.com/question/493015963.html。至此定位原因。
原因:此三星设备中,有一个“开发者选项→不保留活动(用户离开后立即清除每个活动)”,即会导致进入从MainActivity离开后都会调用MainActivity.onDestory(),导致执行退出操作,闪退(edit by sodino)
恢复:取消掉“不保留活动”的选项即可
有没有即使勾选了"不保留活动"但app内能解决的方法?可以,在MainActivity处的onDestory()不调用退出应用操作。可能重写finish(),当代码明确调用finish()后再执行退出应用操作。但仍会有个缺点即为Activity.onDestory()后,从二级界面按返回键回到MainActivity时,会有一段短暂的黑屏,然后才恢复的情况。
0 0
- [Android] App在三星某些机子上闪退:"不保留活动"
- [Android] App在三星某些机子上闪退:"不保留活动"
- android 检测不保留活动
- android 某些三星手机上不显示通知Notification和消息Toast
- Android 当打开“开发者模式”中的“不保留活动”后,程序应当怎么保持正常运行
- 三星Android手机助力泰姆凯迪幼儿活动
- 在Android机子上进行AssetBundle 读取
- AssetBundle 在Android机子上进行读取
- baidu touch.js在某些机子(Motorola XT531)上旋转不动
- Android 创建快捷方式 bug ,三星机子 总是提示 xxx 已经创建快捷方式了。
- 如何 读取 设置 - 开发者选项 - 不保留活动 的状态
- 在android N 的Launcher3中隐藏某些app应用图标
- Android switch在某些系统上不显示thumb和track的解决办法
- Unity3D - AssetBundle 在Android机子上进行读取
- Unity3D - AssetBundle 在Android机子上进行读取
- Unity3D - AssetBundle 在Android机子上进行读取
- 加密IC 在android 机子上的简单应用
- Android界面背景图片不显示---三星手机
- getline(cin, line) demo
- jQuery学习笔记 — jQuery中的DOM操作
- Ubuntu下为Firefox安装Adobe Flash Player
- xCAT在多网卡的物理机上装rhel6时需要人为选择网卡问题
- HDU 5187 zhx's contest(快速幂+快速乘法)
- [Android] App在三星某些机子上闪退:"不保留活动"
- URAL 1057 Amount of Degrees (数位dp)
- Unity坐标转换问题
- jQuery学习笔记— jQuery中的事件和动画
- 双系统
- 八个皇后
- 10000 pcs free gift of chinese top grade brown film faced plywood
- jQuery学习笔记— jQuery对表单、表格的操作以及更多应用
- extern "C"