1、出现闪退的常见原因
1、手机本身内存不够。
2、内存泄漏,程序没有及时释放内容。
3、权限问题,也可能导致闪退。
4、弱网络情况下,服务端响应不及时,可能倒是闪退。
5、设计不合理,1个接口,拉取的数据量太大,请求结果会很慢,且占用大量内存,APP会闪退(比如,我们现在做的记录仪,进入相册列表时候,要拉取所有图片,拉取太慢了,就闪退了)。
6、不同APP间切换,交互测试,可能会出现闪退。
2、出现闪退后的处理方法
闪退后,如何处理和分析日志:
1、Android手机,一般用adb logcat或者ddms可以抓取到日志,查看关键字anr、crash、no responsed可以看出哪块出了问题。
2、ios手机的所有crash日志都会自动保存,连接xcode可以直接导出来查看。
3、常见的闪退异常
1、NullPointerException - 空指针引用异常。
2、ClassCastException - 类型强制转换异常。
3、IllegalArgumentException - 传递非法参数异常。
4、ArithmeticException - 算术运算异常。
5、ArrayStoreException - 向数组中存放与声明类型不兼容对象异常。
6、IndexOutOfBoundsException - 下标越界异常。
7、NegativeArraySizeException - 创建一个大小为负数的数组错误异常。
8、NumberFormatException - 数字格式异常。
9、SecurityException - 安全异常。
10、UnsupportedOperationException - 不支持的操作异常。