最近一直在看android,因为之前做过个简单的手机app,那段时候做的时候了解不是很深,虽然自己负责的那模块是做出来了,但是根本对一些东西没有概念。具体的四大组件里的一些东西都不晓得具体的指代什么的,更谈不上具体实例的实用。后来决定从基础开始学的时候,就遵循一些大神的建议,首先看api,了解Activity组件的生命周期,几大阶段OnCreate(),onStart(),onResume,onPause().onStop(),onRestart()和onDestory(),然后刚开始看api不知道这各生命周期阶段具体有几种情况,后来在大神的指导下算是弄懂了具体的指代的几种情况吧。
第一种情况最好模拟,就是打开一个activity,然后按下返回键Back,依次执行onCreate(),onstart(),onResume(),onPause(),onStop(),onDestory().Activity A-->Activity B,首先应用程序先执行A的onCreate(),onStart(),onResume(),此时启动B,先执行A的onPause(),然后执行B的onCreate(),onStart(),onResume(),此时当B遮挡住A的时候,会调用A的onStop(),返回的时候,会依次执行B的OnPause(),B返回的时候不会再执行A的onCreate(),而是执行A的onStart()方法。
大神原话是这样说的先启动A,然后按返回键退出A,依次执行onCreate(),onResume(),onStart(),。。。依次顺下来直到那onDestory()
第二种情况启动A 之后 启动B 而且A 不可见 焦点 A会执行到OnStop 这里 当回到A 的时候 A可见而且获取到焦点 A执行onReStart 到onstart
第三种情况启动A 之后 启动B 而且A 可见 没有焦点 A会执行到OnPause 这里 当回到A 的时候 A可见而且获取到焦点 A执行onResume
最后一个就是 A在onPause 或者onStop的情况下 有可能由于内存不足被系统杀掉 A会重新创建