Android群英传读书笔记第八章(Activity与Activity调用栈分析)

2024-01-10 23:38

本文主要是介绍Android群英传读书笔记第八章(Activity与Activity调用栈分析),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Activity启动模式

SingleTop模式通常用于接收到消息后显示的界面,例如QQ接收到消息后弹出Activity,如果一次来10条消息,总不能一次弹10个Activity。

如果启动模式为SingleTask的Activity已经在后台一个任务栈中,那么启动会,这个后台任务栈将一起被切换到前台。

这种启动模式通常可以用来退出整个应用:将主Activity设置为SingleTask模式,然后在要退出的Activity中转到住Activity中,从而将主Activity之上的Activity都清除,然后在主Activity的onNewIntent方法中写上finish,结束最后一个Activity.

SingleInstance启动模式的使用和浏览器类似,出现在新的任务栈,而且是共享的。通常用于需要与程序分离的界面。

如果在一个singleTop或者singleInstance的Activity中通过startActivityForResult方法来启动另外一个Activity,那么系统将直接返回Activity.RESULT-CANCELED.因为不同Task之间是不能传递数据的。

Intent Flag 启动模式

常用的flag如下:

  • Intent.FLAG_ACTIVITY_NEW _TASK
    使用一个新的task来启动Activity,启动的每个Activity都在一个新的task中,通常使用在从Service中启动Activity的场景。
  • FLAG_ACTIVITY_SINGLE_TOP
    与启动模式singleTop相同
  • FLAG_ACTIVITY_CLEAR_TOP
    与singleTask相同
  • FLAG_ACTIVITY_NO_HISTORY
    不保存在历史栈,启动后消息

这篇关于Android群英传读书笔记第八章(Activity与Activity调用栈分析)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/592451

相关文章

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

java如何调用kettle设置变量和参数

《java如何调用kettle设置变量和参数》文章简要介绍了如何在Java中调用Kettle,并重点讨论了变量和参数的区别,以及在Java代码中如何正确设置和使用这些变量,避免覆盖Kettle中已设置... 目录Java调用kettle设置变量和参数java代码中变量会覆盖kettle里面设置的变量总结ja

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

python-nmap实现python利用nmap进行扫描分析

《python-nmap实现python利用nmap进行扫描分析》Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了... 目录前言python-nmap的基本使用PortScanner扫描PortScannerAsync异

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S