网站建设案例行业现状,专门做餐饮运营的网站,wordpress首页太慢,做防护信息的网站情景再现
开发这么久#xff0c;不知道你们是否也经历过这样的情况#xff0c;测试或者用户#xff0c;反馈app闪退#xff0c;结果你自己打开开发工具#xff0c;去调试#xff0c;一切正常#xff0c;然后闪退还是存在#xff0c;只是在开发环境中不能重现。这种情况…情景再现
开发这么久不知道你们是否也经历过这样的情况测试或者用户反馈app闪退结果你自己打开开发工具去调试一切正常然后闪退还是存在只是在开发环境中不能重现。这种情况一般是在特定的情况下才触发的bug。比如app退出后台再打开的时候重启了这样你在开发环境很难模拟到。那这种bug怎么来排查的两种办法
集成bugly
bugly是个很好的工具 腾讯Bugly为移动开发者提供专业的异常上报和运营统计帮助开发者快速发现并解决异常同时掌握产品运营动态及时跟进用户反馈。 具体怎样集成自行百度。集成以后可以查看到很多开发环境看不到的bug这样就根据崩溃记录对app进行完善。
bug重现
虽然bugly能看到日志但是怎么才能重现呢毕竟不重现没办法解决bug能重现的bug其实是最好解决的Bug。对于一些bug可能加一些判断非空就行了但是有些bug比较难重现比如 No view found for id 0x7f0901c3 (包名:id/frameLayout) for fragment MergedModuleNoLoginFragment{acdaeec} (156480ac-26ef-4bdc-8ec6-ae57f092d97f id0x7f0901c3) 包名.UI.onStart(UI.java:75) 这个bug困扰了我好久开发环境始终重现不了加了try-catch也不行然后网上的方法都试了也不行。这个bug的原因就是一句话调用的时机不对还没初始化完成就切换了。这个bug一般会在fragment嵌套fragment的代码里出现。现在将解决办法说一下
开发环境重现bug
其实一些bug正常情况下是重现不了的我们可以通过设置开发者选项里的不保留活动调试的时候正常进入页面然后点击home键回到桌面再点击图标就有可能重现一些Bug 我这边的bug解决是将切换fragment的方法放到了onStart()方法里之前是放在onCreate()方法里有可能view还没初始化就调用了会报错 protected void switchFragmentContent(TFragment fragment){FragmentManager fm getSupportFragmentManager();FragmentTransaction transaction fm.beginTransaction();transaction.replace(fragment.getContainerId(), fragment);try{transaction.commitNowAllowingStateLoss();}catch (Exception e){e.printStackTrace();}}关于这个Bug网上有一些博客我把筛选过感觉有用的博客分享一下 Fragment找不到资源Id引起的线上Crash 从一个线上 Android Bug 回看 Fragment java.lang.IllegalArgumentException No view found for id 0x7 java.lang.IllegalArgumentException No view found for id 0x… for fragment Fragment嵌套fragment出现的两种错误No view found for id for fragment 与Can not perform this action after onSave java.lang.IllegalArgumentException: No view found for id 崩溃总结 关于No view found for id 0x7f080135 (com.xxx.xxx:id/viewpager) for fragment PopupWindow 遇到的错误之java.lang.IllegalArgumentException: No view found for id Android之 运行时错误总结