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

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的生命周期图:

来自为知笔记(Wiz)

时间: 2024-10-22 03:25:00

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

两个 Activity 之间跳转时必然会执行的是哪几个方法?

一般情况下比如说有两个 activity,分别叫 A,B,当在 A 里面激活 B 组件的时候, A 会调用 onPause()方法,然后 B 调用 onCreate() ,onStart(), onResume().这个时候 B 覆盖了窗体, A 会调用 onStop()方法. 如果 B 是个透明的,或者是对话框的样式, 就不会调用 A 的onStop()方法

ios两个app之间跳转,传值的实现

两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个APP的url地址 3.需要跳转的时候 NSString *urlString = [NSString stringWithFormat:@"AppJumpSecond://%@",textField.text]; [[UIApplication sharedApplication] open

学习笔记--两个UIView之间跳转、tag,UIAlertView基本使用

一.两个UIView之间的跳转 //在.h文件中定义全局view_1.view_2 -(void)toView1{ if(!view_2){ [view_2 removeFromSuperview]; } view_1 = [[UIView alloc]initWithFrame:CGRectMake(0,0,320,480)]; [self.window addSubview:view_1]; UIImageView *imageView_1 = [[UIImageView alloc]ini

js实现两个页面之间跳转参数传递

html在设计时,规定跳转地址后加"?"表示从此开始为跟随页面地址跳转的参数. 有时候,我们希望获得相应的跳转前页面里的内容,这时候我们就可以考虑将内容以参数形式放到地址中传过来,这里我建议将参数以变量形式传递. 代码案例如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>direct1.ht

Activity跳转时生命周期跟踪

android应用当中Activity间相互跳转比较常见.本文将通过例子跟踪一下2个Activity间跳转过程中生命周期的变化过程. 整个操作过程如下图所示: 1. 打开应用,自动开启First Activity: 2. 按下"Jump Button"按钮,打开Second Activity: 3. 按下"回退"按钮,退出Second Activity,自动回到First Activity: 4. 按下"回退"按钮,退出应用,自动关闭First

Android——Fragment和Activity之间的通信+Frangment生命周期

Android--Fragment和Activity之间的通信+Frangment生命周期 Fr'agment和Activity之间的通信 1.在Fragment中声明一个接口. 2.在Activity中实现在Fargment中声明的接口. 3.在Fragment中声明一个接口对象. 4.在Frangment的生命周期Onattach方法中判断当前Activity是否实现了此Fragment中声明的接口.如果已实现,就把当前Activity转换成接口对象. 5.调用Activity中实现的方法=

异常情况下的Activity生命周期分析

情况1:资源相关的系统配置发生改变 资源相关的系统配置发生改变,举个栗子.当前Activity处于竖屏状态的时候突然转成横屏,系统配置发生了改变,Activity就会销毁并且重建,其onPause, onStop, onDestory均会被调用.因为实在异常情况下终止的,所以系统会调用onSaveInstanceState来保存当前Activity状态.这个方法是在onStop之前,与onPause没有固定的时序关系.当Activity重建的时候系统会把onSaveInstanceState所保

Android中在两个Activity之间进行数据传递

首先声明,此篇文章是我原先的CSDN上面的博客,由于种种原因,不想再使用csdn博客,于是就将其文章搬至现在的cnblog. 大家好,今天我终于开通了自己的博客,很开心能和大家共同分享我的学习经验,希望我们可以共同进步哦,废话不多说了,看一下我今天学习android遇到的一些问题和解决办法吧 首先先把我使用的eclipse的版本贴出来:adt-bundle-windows-x86-20130917 这是一个集成的版本,不需要配置SDK和ADT,但是需要手动配置JDK哦! 其实,不同版本的ecli

android:两个应用之间如何传值之activity

两个应用之间如何传值,其实这个标题太水了,专业的说法是"两个进程间如何传值",什么?!还不够专业,好吧,你淫了!"进程间通信"其实更专业,这回你总满意了吧!顺带说一下,简写成IPC:Inter-Process Communication. 兄弟们,如果你们从搜索引擎或者其他途径找到这篇文章的话,说明你的Android技术已经提升到一个很高的层次了哦,嘿嘿-为什么这么说呢?因为无论哪个平台,线程跟进程都是绝对的重点跟难点. 本文说的进程间传值只是进程间通信的一个特例,