3. Activity的生命周期

Activity的生命周期?

首先Activity创建到可与用户交互过程,会依次走:

- onCreate():(表示Activity创建了,这里面可以做一些初始化数据的操作,但是不宜做耗时操作。为了装逼,我们可以说,该方法有一个参数Bundle ,用于恢复Activity意外销毁时保存的数据);

- onStart()表示Activity已经由不见变成了可见状态,为了装逼,我们可以说:通过看源码的注解,onStart方法可以在onCreate方法后调用,也会在onRestart()方法后调用。

- onResume()表示Activity已经由不可与用户交互,变成了可与用户交互,即获取到了焦点,通过看源码的注解我们可以知道,这个方法中,我们适合开启动画或者打开相机等操作。

Activity由失去焦点到销毁的过程,依次会走:

-  onPause()表示Activity失去焦点,由可与用户交互变成不可与用户交互,当一个Activity不再栈顶的时候,就算它还是可见的,例如,栈顶的Activity透明,它也不能与用户进行交互。为了装逼,可以说:我们通过观察源码可以发现,这个方法中主要是用于保存Activity正在编辑的一些数据和状态,提出一个“edit  in  place”的模式给用户确保在内存不足的情况下,不至于丢失数据。这个方法中,我们可以做一些如:停止动画、关闭资源访问等操作;

-  onStop()表示Activity由可见变成不可见,接下来可能会走onDestory()方法或者onRestart()方法;

-  onRestart()onStop之后没有走onDestroy(),而是再次变成用户可见,onRestart()方法之后是onStart()方法;

你可能感兴趣的:(3. Activity的生命周期)