1. java.lang.NullPointerException
预防办法,只能开发小心,必须使用android lint等静态工具查验,onResume出现的最多,因为应用放到后台后,丢失一些内存,一些引用等很正常,解决办法是在onPause中添加像一个本地的cache或数据库,再用onResume就可以了。
一些由于寻找其他数据,比如activity,sensor data,camera,gps etc,最好的办法是null check,操作前空指针检查
2. java.lang.OutOfMemoryError
一类是memory leak,可以使用监控的方式,查看应用是否一直占mem不释放
二是对Bitmap等使用使用萎缩图等
三,应用真的很费memory,但是没有申请android:largeHeap="true"
3. android.view.WindowManager$BadTokenException
这个问题,在我们手机是看不到了,但是使用DialogFragment可能还会碰到这种问题
4. java.lang.IllegalArgumentException (extends java.lang.RuntimeException)
Acitvity忘记添加到menifest里了,从后台打开UI控件,使用被释放后的bitmap
5. android.database.sqlite.SQLiteException
内存满是一种,语法错误也是一大类,升级引起的数据不兼容是一大类。