闪退原因总结
1、网络异常
- 无网下操作
- 无网、wifi、移动网络三种网络切换
- 弱网,弱网场景下,服务端没有及时的响应
程序没有做好网络保护,会造成app闪退
2、app程序没有对接口返回的数据做好兼容性
接口返回的数据千差万别,有null,""," ",假如app端没有很好进行处理的话,会造成闪退
3、内存泄露,程序没有及时释放内存
比如,在安防监控软件,有直播和看回放的功能,频繁的切换页面,没有很好的释放资源的话,会造成闪退
4、版本过低
- 应用版本太低,APP的SDK和手机的系统不兼容,造成闪退
- 有些API在老版本中有,在新版本中没有,造成对象为空引起闪退
5、权限问题
一般是AndroidManifest文件中忘记配置相关权限
6、设计不合理
1个接口,拉取的数据量太大,请求结果会很慢,且占用大量内存,APP会闪退
7、不同app间切换
交互测试,可能会出现闪退
8、组件问题
APP中访问网络的地方,组件中的ImageView没有正常的下载并显示到app 页面上
9、拍照/选择图片后闪退
- 手机内存小
- 部分手机在使用相机拍照时候存在横竖屏切换,可能会导致我们应用重新调整生命周期
- 解决办法:在使用到拍照功能的Activity设置:android:configChanges="orientation|keyboardHidden|screenSize"
10、页面布局问题
用LinearLayout布局时忘记指定orientation,出现了闪退
其他
在用AS开发Android程序时,涉及到Android真机版本,在生成APK文件时,如果没有把V1,V2全部勾选,可能会出现闪退