android之bug收集录(1)
2014-06-30 20:33
225 查看
一、异常三大类
1、编程错误导致异常(exception due programming errors): 这种情景下,异常往往处于编程错误(如:nullpointerexception 或者 illegalargumentexception),这时异常一旦抛出,客户端将变得无能为力。
2、客户端代码错误导致异常(exception due client code errors): 说白点就是客户端试图调用api不允许的操作。
3、资源失败导致异常(exception due to resource failures): 如内存不足或网络连接失败导致出现异常等。这些异常的出现客户端可以采取相应的措施来恢复应用程序的继续运行。
二、bug录
今天使用Fragment的时候,出现了这个错误 IllegalStateException: Can not perform this action after onSaveInstanceState:
E/AndroidRuntime(12747): Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1314)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1325)
是在使用FragmentTransition的 commit方法添加一个Fragment的时候出现的,后来在官网找到了相关的
说明:http://developer.android.com/reference/android/app/FragmentTransaction.html#commitAllowingStateLoss()
Added in API level 11
Like
commit to be executed after an activity's state is saved. This is dangerous because the commit can be lost if the activity needs to later be restored from its state, so this should only be used for cases where it is okay for the UI state to change unexpectedly
on the user.
大致意思是说我使用的 commit方法是在Activity的onSaveInstanceState()之后调用的,这样会出错,因为
onSaveInstanceState方法是在该Activity即将被销毁前调用,来保存Activity数据的,如果在保存玩状态后
再给它添加Fragment就会出错。解决办法就是把commit()方法替换成 commitAllowingStateLoss()就行
了,其效果是一样的。
1、编程错误导致异常(exception due programming errors): 这种情景下,异常往往处于编程错误(如:nullpointerexception 或者 illegalargumentexception),这时异常一旦抛出,客户端将变得无能为力。
2、客户端代码错误导致异常(exception due client code errors): 说白点就是客户端试图调用api不允许的操作。
3、资源失败导致异常(exception due to resource failures): 如内存不足或网络连接失败导致出现异常等。这些异常的出现客户端可以采取相应的措施来恢复应用程序的继续运行。
二、bug录
今天使用Fragment的时候,出现了这个错误 IllegalStateException: Can not perform this action after onSaveInstanceState:
E/AndroidRuntime(12747): Caused by: java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState
at android.support.v4.app.FragmentManagerImpl.checkStateLoss(FragmentManager.java:1314)
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1325)
是在使用FragmentTransition的 commit方法添加一个Fragment的时候出现的,后来在官网找到了相关的
说明:http://developer.android.com/reference/android/app/FragmentTransaction.html#commitAllowingStateLoss()
public abstract int commitAllowingStateLoss ()
Added in API level 11Like
commit()but allows the
commit to be executed after an activity's state is saved. This is dangerous because the commit can be lost if the activity needs to later be restored from its state, so this should only be used for cases where it is okay for the UI state to change unexpectedly
on the user.
大致意思是说我使用的 commit方法是在Activity的onSaveInstanceState()之后调用的,这样会出错,因为
onSaveInstanceState方法是在该Activity即将被销毁前调用,来保存Activity数据的,如果在保存玩状态后
再给它添加Fragment就会出错。解决办法就是把commit()方法替换成 commitAllowingStateLoss()就行
了,其效果是一样的。
相关文章推荐
- android App级别的bug信息收集(crash信息保存和发送)
- 【Android】BugHD-简单实用的Bug收集工具-让 Bug 无 处 遁 形
- Android客户端线上BUG收集、反馈及定位
- Android-Bug收集
- 收集Android实际开发中的bug总结与解决方法(第二节)
- 收集Android实际开发中的bug总结与解决方法(第一节)
- android收集bug(异常)信息,上传至服务器
- android项目bug收集
- Android开发之bug收集(持续更新...)
- Android Bug收集解决方案分析
- Android 学习 bug收集
- android App中bug收集的工具类
- Android Bug异常收集第三方腾讯Bugly集成
- 收集Android实际开发中的bug总结与解决方法(第三节)
- 调试Bug的神兵利器:通过WinDbg条件断点收集Log
- Android 网站资源收集大全(不断更新中)
- Android的Dalvik虚拟机的一个小BUG
- Android 网站资源收集大全
- Fix bug in the notepad tutorial of Android
- 调试Bug的神兵利器:通过WinDbg条件断点收集Log