Android基础回顾--Activity

一门技术的基础知识是掌握一门技术的起点和支撑。许多基础知识需要我们不断的回顾。

Activity是Android的四大组件之一,也是我们最长用到的组件。熟练的使用的Activity是我们Android的最基本功。使用Activity时最常涉及到的知识有

Activity生命周期 (7个状态方法、几种状态、数据缓存)

Activity启动模式

Activity使用技巧

(一)Activity的生命周期

1、一个完整的周期路线 : onCreate() -> onStart()-> onResume() -> onPause() -> onStop() -> onDestroy()   ,这是一个完整无特殊情况的生命周期方法调用,没有涉及到onRestart()方法。

具体方法逻辑可以看下面的生命周期图(自己总结)

Android基础回顾--Activity_第1张图片

要理解这些方法的调用次序和影响就要理解Activity的几种状态:不可见、可见不可操作、可见可操作

Android基础回顾--Activity_第2张图片

当我们启动一个Activity,直到Activity显示出来,后台日志打印如下

当Activity跳转到另一个Activity时

Android基础回顾--Activity_第3张图片

可以看到当在一个Activity中启动另一个Activity时,先是执行A的onPause() 然后时B的onCreate() ->onStart() ->onResume 最后 执行A的onStop()。

这个次序非常清晰的对应到生命周期的状态和方法的对应关系。

现在看一下一个完整的两个Activity交互的方法调用流程A B(A启动B,B退回到A)

Android基础回顾--Activity_第4张图片

可以看到在A和B的交互中,A或者B的生命周期方法并不是连贯执行的,这个可以和Activity结合起来。

A启动B的一个完整流程:A onPause() (执行后A可见但不可操作)->B onCreate() ->B onStart() -> B onResume() (B可见可操作) ->A onStop(A不可见)

B退回到A的一个完整流程:B onPause() (执行后B可见但不可操作)->A onRestart() ->A onStart() -> A onResume() (A可见可操作) ->B onStop(B不可见) -> B onDestroy()

介绍:A 启动到B的时候,先是A失去焦点(可见不可操作)然后开始B的启动流程,当B达到可见可操作的时候再执行A的onStop将A变为不见也不可操作。但不会执行A的onDestroy

Activity的栈,Android专门有存放Activity的栈,目前我们看到的Activity在栈顶,当新启动一个Activity就会继续进入到栈顶,而回退,则是将栈顶的Activity退出,回到下一个Activity。

Activity依然在栈内时,不会执行onDestroy

你可能感兴趣的:(Android基础回顾--Activity)