码迷,mamicode.com
首页 > 其他好文 > 详细

项目BUG总结1

时间:2015-05-11 10:51:07      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:bug   fragment   activity   

     项目上线一段时间后,加入了公司的监控平台,奔溃还真是不少。。公司的无线环境和高配置的手机几乎任何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;
            }

项目BUG总结1

标签:bug   fragment   activity   

原文地址:http://blog.csdn.net/yaya_soft/article/details/45640361

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!