Activity的生命周期:

onCreat ,onStart,onResume,onPause,onRestart,onStop,onDestroy

Activity之间的跳转分为显式跳转和隐式跳转。

隐式跳转:

Intent intent=new Intent();

intent.setAction("android.intent.action.BAcivity");
startActivity(intent);

显式跳转:

Intent intent=new Intent(AActivity.class,BActivity.class);

//intent.setClass(class,class)
 //intent.setClassName(class,"class url");

参数传递:

Bundle bundle=new Bundle();
bundle.putString("string","---hahaha---");
intent.putExtras(bundle);
startActivity(intent);

需回传参数的参数传递:

AActivity:

Intent intent=new Intent(Activity.this,BActivity.class);
 Bundle bundle=new Bundle();
 bundle.put__(tag,value);
 intent.putExtras(bundle);
 startActivityForResult(intent,requestcode);//requestcode:请求标记

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}

BActivity:

bundle.put__(tag,value);
Intent intent=new Intent();
intent.putExtras(bundle);
setResult(requestcode,intent);

Activity的启动模式:

通过LaunchMode可设置Activity的启动模式,分为:

standard,singleTop,singleTask,singleInstance

每个activity被创建时都会被放入栈中

standard模式下每个activity的启动都会以重新创建的方式启动。

singleTop模式下位于栈顶的activity将会被复用。

singleTask模式下如果栈中原本就存在这个activity,那么它会被复用,且在栈中位于其上的activity都会被销毁。

singleInstance模式下每个activity被创建时都会独立放进一个栈中,以实现任意复用。

通过在manifest里设置activity的taskAffinity可实现自定义栈

Android_Activity的生命周期、跳转方式及参数传递、启动模式。的更多相关文章

  1. 线程:生命周期、实现方式、start()和run()的区别!

    1.线程的生命周期 要想实现多线程,必须在主线程中创建新的线程对象.Java语言使用Thread类及其子类的对象来表示线程,在它的 一个完整的生命周期中通常要经历如下的五种状态: 新建:当一个Thre ...

  2. 2.Spring的Bean生命周期和组装方式

    1.Spring IoC容器概述 Spring IoC容器: Spring容器即体现了IoC原理    Spring容器通过读取配置元数据负责对Beans实例化.配置和装配     配置元数据可以用X ...

  3. osgi实战学习之路:5.生命周期及利用命令、装饰者模式实现基于socket交互Bundle命令demo

    生命周期中关键3个类: BundleActivator 入口点,类似main方法 BundleContext Bundle上下文对象,在执行期间,为应用程序提供操作osgi框架的方法 Bundle 代 ...

  4. API生命周期第三阶段:API实施模式,以及结合swagger和项目现状的最佳模式

    这篇博客,主要是宏观介绍一下开发模式,尤其是针对于目前公司前后分离的项目! 一.API实施模式概述 API实施模式,主要是三个,其中API-First又是作为一种指导思想的一种,所以,简单来说事实实施 ...

  5. Activity生命周期以及启动模式对生命周期的影响

    前天用户体验反馈的一个需求,要求每次进入应用都定位到首页;这个操作很明显不适合放在首页Activity(启动模式为SingleTask)的onResume中,如果对Activity的启动模式和生命周期 ...

  6. Android开发之Activity的生命周期以及加载模式

    本篇博客就来好好的搞一下Activity的生命周期,如果搞过iOS的小伙伴的话,Activity的生命周期和iOS中ViewController的生命周期非常类似.生命周期,并不难理解.一个人的生命周 ...

  7. session生命周期(一)

    Session存储在服务器端,一般为了防止在服务器的内存中(为了高速存取),Session在用户访问第一次访问服务器时创建,需要注意只有访问JSP.Servlet等程序时才会创建Session,只访问 ...

  8. ASP.NET 页生命周期

    ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维护状态.运行事件处理程序代码以及进行 呈现.了解页生命周期非常重要,因为这样 ...

  9. ASP.NET 页生命周期概述

    ASP.NET 页生命周期概述 Visual Studio 2005    ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维 ...

随机推荐

  1. Mysql 保存emoji表情报错

    保存emoji表情错误 首先错误表现,抛出业务层报错之外,根源的数据库错误是: sql 错误码 1366 字符集相关错误. uncategorized SQLException; SQL state ...

  2. html基本介绍,了解html与css,html语法和结构

    一般来说,制作自己第一个网页通常书写的文字是"hello world!你好,全世界",代码如下展示: <!DOCTYPE html> <html lang=&qu ...

  3. centos下mysql中table大小写改为不敏感

    项目由win系统部署到linux系统下,启动项目报错如下: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: ...

  4. maven 听视频笔记

    使用  pom.xml 配置 收藏 所听视频来源: https://www.bilibili.com/video/av54119831?p=8 视频: maven  idea 配置服务器 tomcat ...

  5. 使用jdbc实现ActiveMQ持久化

    步骤一:创建一个数据库 步骤二:配置activemq.xml配置文件 1.在persistenceAdapter加入如下配置 <!--createTablesOnStartup 启动是否创建表 ...

  6. vue富文本编辑器vue-quill-editor使用总结(包含图片上传,拖拽,放大和缩小)

    vue-quill-editor是vue很好的富文本编辑器,富文本的功能基本上都支持,样式是黑白色,简洁大方. 第一步下载 vue-quill-editor: npm i vue-quill-edit ...

  7. centos7 lnmp环境搭建

    1- 安装gcc c++编译器 yum install gcc gcc-c++ cmake 2- 安装nginx-1.8.1及依赖包 2.1- 安装nginx依赖包 yum -y install pc ...

  8. windows 2008r2+php5.6.28搭建详细过程

    安装IIS7 1.打开服务器管理器(开始-计算机-右键-管理-也可以打开),添加角色 直接下一步 勾选Web服务器(IIS),下一步,有个注意事项继续下一步(这里我就不截图了) 勾选ASP.NET会弹 ...

  9. opencv二值化的cv2.threshold函数

    (一)简单阈值 简单阈值当然是最简单,选取一个全局阈值,然后就把整幅图像分成了非黑即白的二值图像了.函数为cv2.threshold() 这个函数有四个参数,第一个原图像,第二个进行分类的阈值,第三个 ...

  10. ftp 拉去远程文件脚本

    ftp 拉去远程文件脚本 cat ftp.sh #!/bin/bash ftp -i -n 192.168.1.1 << EOF user ftpadmin gaofeng binary ...