项目BUG总结1

     项目上线一段时间后,加入了公司的监控平台,奔溃还真是不少。。公司的无线环境和高配置的手机几乎任何bug都没测出来,经过一段时间的fix,总结下结果防止以后再犯同样的错误

  

 B1:  java.lang.ClassCastException 

 出现这个错误表示很蛋疼,原因是我们居然导入了两个不同版本的zxing包,这个问题是由于大意造成的以后一定要清理包中无用的代码,特别是功能相同已经被废弃的代码

 

B2:   java.lang.IllegalStateException: Can not perform this action after onSaveInstanceState   

     在使用Fragment的时候,这个bug几乎经常出现,当我们在Activity的onCreate方法中加入一个Fragment时不会出现这个问题,但是当我们通过一个异步回调添加的时候会出现这个问题;当Activity的状态已经调用了onSaveInstanceState   的时候,当前Activity 的状态已经结束了,此时你还强制性的去添加一个Fragment异常就此产生;

     解决方案:提交fragment时使用commitAllowingStateLoss而不是commt,允许Activity状态丢失


B3: java.lang.IllegalStateException: Fragment a{44629768} not attached to Activity 这个错误出现了两种情况

      1: android.support.v4.app.Fragment.getResources  

         在Fragment中获取资源信息是解决使用了fragment自带的getResource ,而此时fragment还未attach到Activity上

        解决方案:使用Activity的getResource 或者使用当前应用的Application的getResource

      2:android.support.v4.app.Fragment.startActivityForResult

        异步回调后未对Activity的状态做判断

       解决方案:每次异步回调的时候在回调方法最前面判断当前Fragment所在的Activity是否还存在 ---》

        if (getActivity() == null || getActivity().isFinishing()
                    || MyFragment.this.isDetached()) {
                return;
            }

B4: java.lang.IllegalStateException: Activity has been destroyed

       由于异步回调后Activity已经销毁

      解决方案   

    if (getActivity() == null || getActivity().isFinishing()
                    || MyFragment.this.isDetached()) {
                return;
            }

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值