zoukankan      html  css  js  c++  java
  • Android-Activity四种启动模式

    Activity四种启动模式:

    (一)、基本描述
    1. standard:标准模式:如果在mainfest中不设置就默认standard;standard就是新建一个Activity就在栈中新建一个activity实例;
    2. singleTop:栈顶复用模式:与standard相比栈顶复用可以有效减少activity重复创建对资源的消耗,但是这要根据具体情况而定,不能一概而论;
    3. singleTask:栈内单例模式,栈内只有一个activity实例,栈内已存activity实例,在其他activity中start这个activity,Android直接把这个实例上面其他activity实例踢出栈GC掉;
    4. singleInstance :堆内单例:整个手机操作系统里面只有一个实例存在就是内存单例;
    (二)、场景设置

    Activity的启动模式的应用的设置是和它的开发场景有关系的,在APP中打开新的Activity的基本上分为两种情况:

    1. 目标Activity是本应用中的Activity,即它的启动模式是可以直接在fanifest中配置或者默认为standard,任务栈也可以自己随意设置;
    2. 目标Activity是第三方APP中的Activity,这个时候就需要先考虑打开新Activity的是和自己APP放在同一任务栈中还是新的task中【这个是很重要的因为在Android的机制中:同一个任务栈中的activity的生命周期是和这个task相关联的[具体实例见下文]】,然后考虑Activity的启动模式; 所以Android提供了优先级更高的设置方式在Intent.setFlags(int flags),通过这setFlags就可以为打开第三方的APP中Activity设置任务栈和启动模式了,具体设置就自己去看源码了。

    二、Activity四种启动模式常见使用场景:

    LauchModeInstance
    standard mainfest中没有配置就默认标准模式
    singleTop 登录页面、WXPayEntryActivity、WXEntryActivity 、推送通知栏
    singleTask 程序模块逻辑入口:主页面(Fragment的containerActivity)、WebView页面、扫一扫页面
    singleInstance 系统Launcher、锁屏键、来电显示等系统应用
  • 相关阅读:
    jxl读和取Excel文件
    Studio for WPF:定制 C1WPFChart 标记
    为C1Chart for WPF添加自定义标题、坐标轴单位标签以及旋转坐标轴注释
    自定义饼图(PieChart)各个PieSlice的外观
    vue组件
    vue双向绑定
    第一个Vue程序
    vue入门介绍
    js生成随机固定长度字符串的简便方法
    JavaScript 函数式编程读书笔记1
  • 原文地址:https://www.cnblogs.com/hustcser/p/9382005.html
Copyright © 2011-2022 走看看