activity生命周期分析(两个activity之间跳转的生命周期执行顺序)

本文详细解析了Android中Activity的生命周期,特别是在界面切换时的onPause、onStart等方法的调用顺序,并通过具体示例说明了如何利用这些生命周期方法实现数据更新。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NoteMainActivity点击跳转至NoteListActivity

我们都了解:
当A界面点击进入B界面时,此时
          A===onPause--->onStop
          B===onStart--->onResume
B界面退出,A界面显示,此时  
          B=== onPause--->onStop
          A=== onRestart---> onStart--->onResume

问:但是,是执行A的生命周期执行完再执行B的生命周期吗?或者B的执行完再执行A的吗?
答:不。    实际是
当A界面点击进入B界面时,此时         
          onPause(A)---> onStart(B)--->onResume(B) --->onStop(A)
B界面退出,A界面显示,此时           
          onPause(B)--->  onRestart (A)--->   onStart(A)--->onResume(A) --->onStop(B)  

问:有什么实际应用呢?
答:举个例子。A界面需要从数据库请求数据,展示在界面上。B界面的操作会影响A界面的数据。从B界面返回到A界面需要重新请求数据,进行界面展示。
    此时,B界面应该在哪里进行数据的提交。A界面在哪里进行数据的读取。
    在B界面的 onPause进行数据的存储。
    在A界面的 onRestart进行数据的读取渲染

下面是我实际打印的log。
NoteMainActivity进入

NoteMainActivity屏暗

NoteMainActivity屏亮:


NoteMainActivity------>NoteListActivity(点击跳转)


退出NoteListActivity,显示 NoteMainActivity



退出 NoteMainActivity


附一张avtivity的生命周期图:

State diagram for an Android Activity Lifecycle.




转载于:https://www.cnblogs.com/yjing/p/5263109.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值