android 项目中的异常总结 - gmtalang/test GitHub Wiki

* 1.ActivityNotFindException 找不到activity

  • 1)混淆和拆分不当
  • 2)url没有包含http
  • 3)没有指定浏览器html

* 2.不能启动BroadcastReceiver

  • 1)intent.setFlags(intent.FLAG_ACTIVITY_NEW_TASK)启动activity (service启动activity同)
    1. ClassLoader概念
  • Parcelbale(badParcelableException):classA.class.getClassLoader()

* 3.activity上面的dialog (窗口句柄泄露)

 windowLeaked

4.stackoverflow(无限递归引起的) 1)layout布局文件结构太深 2)System.exit(0) app中有多个线程那么在退出app的时候可能不能完全关闭app

5.解决解决Android被系统回收,重打开崩溃等问题

  • APP在后台运行的时候时常会发生被系统回收的事情,可能是内存不足的多种原因造成。被系统回收后系统任然会保留APP的activity栈,用以恢复,但是这样就存在很多的问题需要解决,如果activity没有做保存数据的操作,就会出现空指针等异常。一种比较比较好的方式就是在被系统回收后,重启app的时候就重新唤起app这个在网上有比较好的解决方式了
  • http://www.2cto.com/kf/201606/513992.html。
  • 如果你的activity还有fragment还是可能会出现问题,比如出现id无法找到的问题。这个主要原因是因为activity保存了一份fragment的状态,解决方法也很简单可以直接在BaseActivity中重写onSaveInstanceState方法不做任何实现。

*6 字符串转换成整数

*7 Android 7.0 行为变更 通过FileProvider在应用间共享文件

* 8.UI性能卡顿