Android任务栈和启动模式

这篇具有很好参考价值的文章主要介绍了Android任务栈和启动模式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Andrcid中的任务栈是一种用来存放Activity实倒的容器。任务最大的特点就是先进后出,它主要有两个基本操作,分别是压栈出栈。通常Andaid应用程序都有一个任务栈,每打开一个Activity时,该Activity就会被压入任务栈。每销毁一个Activity时,该Activity就会被弹出任务栈。用户操作的Accivity永远都是栈顶的Activisty。

Android任务栈和启动模式,android,java

无论开启多少个Activity,最后开启的Activity的实例都会被压入栈的顶端,而之前开启的Activity仍然保存在栈中,但活动已经停止,系统会保存Activety被停止时的状态。当两次回到被停止的Activity时,界面为被保存停止时的状态。

 Activity启动模式有4种,分别是standand(标准),singleTop(仅一个,顶部),singleTask(仅一个,栈) 和 singleInstance(仅一个,实例)

1.standard模式
Activity的默认启动模式。每启动一个Activity就在栈顶创建一个新实例。

2.singleTop模式
该模式会判断要启动的Activity实例是否在栈顶,如果位于栈顶则直接复用,否则创建新实例。

3.singleTask模式
如果想要某个Activity在整个应用程序中只有一个实例,则需使用singleTask模式该模式会判断栈中是否存在要启动的Activity,如果存在则把上方所有实例弹出并直接使用该实例,否则创建。

4.singleInstance模式
在所有中寻找要启动的Activity,如果存在则将该栈转移到前台直接使用,如果不存在先创建一个新的任务栈并将Activity实例压入该Activity在系统中只有一个

Activity启动模式在AndroidManifest.xml(清单文件)的对应的<activity中的andrid:launchMode 属性设置文章来源地址https://www.toymoban.com/news/detail-725146.html

<activity
    android:name=".MainActivity"
    android:launchMode="singleTask">
<!-- launchMode属性用于设置启动模式 !-->

</activity>

到了这里,关于Android任务栈和启动模式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Android WiFi Service启动-Android13

    Android WiFi基础概览 AOSP 文档 心主题 WiFi概览 编译生成对应的jar包: \\\"/apex/com.android.wifi/javalib/service-wifi.jar\\\" 相关WiFi服务: WifiService 、 WifiScanningService 、 RttService 、 WifiAwareService 、 WifiP2pService frameworks/base/services/java/com/android/server/SystemServer.java WifiInjector.java : WiFi依赖性注入器。

    2024年01月21日
    浏览(31)
  • Android 系统启动过程纪要(基于Android 10)

    看过源码的都知道,Launcher系统启动都会经过这三个进程 init -zygote - system_server。今天我们就来讲解一下这三个进程以及Launcher系统启动。 准备Android虚拟机环境:创建和挂载系统文件目录; 初始化属性服务; 设置子进程信号处理函数(防止init的子进程出现僵尸进程,在子进

    2024年01月19日
    浏览(29)
  • Android常用的延迟执行任务及轮询定时任务的几种方式

    Executor 的 execute 方法:向线程池中提交任务(异步执行) Executor 接口是 Java 并发编程中的一个接口,它定义了一种执行任务的通用机制。Executor 接口有一个重要的方法 execute,它的作用是提交一个任务(Runnable 或 Callable)给 Executor 进行执行。 execute 方法的作用如下: 提交任务:

    2024年04月25日
    浏览(31)
  • Android APP开机启动,安卓APP开发自启动,安卓启动后APP自动启动 Android让程序开机自动运行APP

    第一步设置获取广播后的业务 第二查权限给APP 理论以上两步做完就可以了。APP也能收到广播信息了, 但是APP没有在桌面启动。 经过再研究,发现要在手机再设置自动开启等业务,以下是小米、魅族的系统设置的一些内容,其它平台自己研究。 这里已经显示收到广播信息  

    2024年02月06日
    浏览(44)
  • android源码学习- APP启动流程(android12源码)

    百度一搜能找到很多讲APP启动流程的,但是往往要么就是太老旧(还是基于android6去分析的),要么就是不全(往往只讲了整个流程的一小部分)。所以我结合网上现有的文章,以及源码的阅读和调试,耗费了3整天的时间,力求写出一篇最完整,最详细,最通俗易懂的文章,

    2024年02月11日
    浏览(36)
  • Android 多任务窗口中的界面高斯模糊处理问题

    应用开发过程中安全问题的确需要系统考虑也要开发者自己多考虑,一个小的细节可能会让你的应用变的更安全,最近在用招商银行App的时候无意中发现了 iPhone上多任务窗口 ,看到招商银行的应用有一个特别的地方就是当应用出现在多任务中的时候界面被高斯模糊处理了,

    2024年02月11日
    浏览(29)
  • Android系统启动(四) — Launcher 启动过程

    1 Launcher 概述 系统启动的最后一步是启动一个应用程序来显示系统中已经安装的应用程序,这个应用程序就叫做 Launcher 。 Launcher 在启动过程中会请求 PackageManagerService 返回系统中已经安装的应用程序信息,并将这些信息封装成一个快捷图标列表显示在系统屏幕上,这样用户就

    2024年02月01日
    浏览(32)
  • Android安全启动学习(五):Android Verified Boot 2.0

    AVB2.0被用于启动引导,此用法添加一个“vbmeta.img”镜像。 public key被编译到bootloader中 用于 校验vbmeta数据 ,vbmeta.img包含应 由此public key验证的签名。 vbmeta.img包含用于验证的public key,但只有bootloader验证过vbmeta.img才会可信,就好比认证一样,包含可信public key和签名。 因此,

    2023年04月23日
    浏览(26)
  • Android获取App冷启动、热启动时间

    启动模拟器或者连接手机,通过adb命令的方式获取App冷启动、热启动时间。 启动App的adb命令: -W:启动完成之后,返回启动耗时。 比如,我的packagename是com.example.myapplication,我的MainActivity的配置如下: 则adb启动命令为 一、冷启动时间(如果应用启动过,则从最近任务杀进程

    2024年02月05日
    浏览(69)
  • Android系统启动流程分析

           当按下Android系统的开机电源按键时候,硬件会触发引导芯片,执行预定义的代码,然后加载引导程序(BootLoader)到RAM,Bootloader是Android系统起来前第一个程序,主要用来拉起Android系统程序,Android系统被拉起首先肯定会启动Linux内核。 备注: 我们再刷机时候,经常看到

    2024年02月15日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包