猎聘网招聘官方网站,c 网站开发教程,网站建设数据安全的意义,大型网站 jquery点击跳转Unity3D特效百例点击跳转案例项目实战源码点击跳转游戏脚本-辅助自动化点击跳转Android控件全解手册点击跳转Scratch编程案例点击跳转软考全系列 
#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧#xff0c;以及各种资源分享Unity3D特效百例点击跳转案例项目实战源码点击跳转游戏脚本-辅助自动化点击跳转Android控件全解手册点击跳转Scratch编程案例点击跳转软考全系列 
关于作者 专注于Android/Unity和各种游戏开发技巧以及各种资源分享网站、工具、素材、源码、游戏等 有什么需要欢迎底部卡片私我交流让学习不再孤单。 实践过程  上图中这个错误是同事在继承Activity重写父类的onCreate方法时由于没有调用super.onCreate()而引发的问题属于运行时异常诸如activity的其他周期方法也会出现类似问题。由此可见android api中当我们继承某些类重写一些方法时有些是要求必须调用super方法的。 
但是这个异常不常见如果遇到这样的异常有两种可能 
一种是在Activity中的生命周期中的方法中没有复写父类的方法另一种是在Fragment中的生命周期中的方法中没有复写父类的方法 
知道了原因我们解决起来就很简单了 
//探讨根据报错信息的提示由于没有销毁fragment导致activity没法销毁。扭头一看原来还真的是这样直接贴代码Override
public void onDestroy() {//......
}//在当前的fragment类的onDestroy方法里没有调用父类的onDestroy()方法导致了异常的发生。正确的代码应该是Override
public void onDestroy() {super.onDestroy();//......
} 
知道了解决方法我们再看下 Activity 源码。  
我们不难发现这个类里好多on开头的周期方法还有好多perform开头的执行周期方法的方法   从函数方法名我们就可以猜出这个方法应该是调用了onStart()方法方法里有把mCalled置为false的操作这个mCalled是类里的一个全局变量接着调用了callActivityOnStart(this)方法然后我们再看看第二幅图中的callActivityOnStart(Activity activity)函数代码很少就一行那就是调用onStart()方法再瞅瞅第三幅图是onStart方法有一行mCalled  true 的操作然后回到第一幅图中往下看有个if语句判断mCalled可以看出如果不执行this.onStart()方法就没法把mCalled置为true这就会导致 !mCalled 值为true肯定就执行这个抛错语句。可能这时候大家会想我们可以不调用super直接在子类里把mCalled变量改为true不就可以了吗可是这个mCalled变量boolean mCalled;是缺省类型的不能被子类调用。所以只能通过调用super方法的形式来达到程序正常运行的效果。 
其他 作者小空和小芝中的小空 转载说明-务必注明来源https://zhima.blog.csdn.net/ 这位道友请留步☁️我观你气度不凡谈吐间隐隐有王者霸气日后定有一番大作为旁边有点赞收藏今日传你点了吧未来你成功☀️我分文不取若不成功⚡️也好回来找我。 温馨提示点击下方卡片获取更多意想不到的资源。