Android基础回顾--Activity

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

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

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

Activity启动模式

Activity使用技巧

(一)Activity的生命周期

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

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


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


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


当Activity跳转到另一个Activity时


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

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

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


可以看到在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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值