1.Task以及back stack

    >Task(任务)  为了完成一个功能  多个Activity的集合,

    当你的应用程序启动时 系统会自动创建Task用于管理Activity



    >Back stack:(回退栈)按照Activity启动顺序 后进先出

    



2.Activity的启动模式:(*******)

    android:launchMode="standard"

    >1,standard:默认模式  (拿来主义)   每次都会创建一个新的Activity(多次实例化)

       

    android:launchMode="singleTop"

    >2,singleTop(拒绝堆叠)

        >1,没有这个Activity 直接创建

        >2,如果有 并且在栈顶  直接拿来使用 调用onNewIntent(Intent intent)方法

        >3,如果有  没有在栈顶  重新创建一个Activity实例

        

    >3,singleTask:(独立门户)

        >1,没有Activity直接创建

        >2,如果有 并且在栈顶  直接拿来使用  调用onNewIntent(Intent intent)方法

        >3,如果有  没有在栈顶  将在它上方的 Activity pop出去  自身有回到栈顶位置调用onNewIntent(Intent intent)方法



    >4,singleInstance (孤独寂寞)(这个用法不多  浪费空间)

        >系统会单独分配一个stack  不允许其他的Activity和他共享一个stack

3.Intent的七大属性



        跳转:

            1,显示意图跳转:知道往哪里跳转(ComponentName)

            2,隐式意图跳转:不知道往哪里跳转  只要action一致就可以(action)



    >1,ComponentName:应用组件名称  根据组件名称可以进行显示跳转(知道往哪里跳转)

    >2,Action:动作

        >1,自定义

          <!-- 注册Activity   设置动作 :必须有意图过滤器-->

            <activity android:name=".SecondActivity">

                <intent-filter >

                <action android:name="包名.类名"/>唯一

                <category android:name="android.intent.category.DEFAULT"/>

                </intent-filter>

            </activity>

        >2,系统提供



        Uri:资源定位符

        Uri遵循的格式:scheme://host:port/path

            scheme:http  file  content

            host:IP

            port:端口号

            path:请求的路径



    >3,Category:(种类) 指明动作的环境

        >android.intent.category.LAUNCHER:程序启动的

        >android.intent.category.DEFAULT :系统默认的执行方法



        >在清单文件中 有action  必然跟category 否则程序报错

    >4,Data:数据   描述action数据

    >5,Type:数据的类型

    >6,putExtra:通信数据的   intent.putExtra(key,value);

    >7,Flag:标记 (一般用于启动模式)

        >FLAG_ACTIVITY_SINGLE_TOP:和启动模式里的SingleTop一致



        >FLAG_ACTIVITY_CLEAR_TOP:

        和SingleTask相似 >如果当前Activity存在   不在栈顶

                    首先将上方的Activity pop出 将自身的Activity销毁 重新创建一个Activity 在栈顶

                 >如果当前Activity存在   在栈顶  将将自身的Activity销毁 重新创建一个Activity 在栈顶

        

        >FLAG_ACTIVITY_NEW_TASK

            >1,不在清单文件中设置 和默认启动模式是一致的

            >2,在清单文件中设置属性  

                android:taskAffinity="aa.bb"

                android:allowTaskReparenting="true"



                



                taskAffinity用于指定当前Activity(activity1)所关联的Task,

                allowTaskReparenting用于配置是否允许该activity可以更换从属task

06 Activity的启动模式 Intent的七大属性的总结的更多相关文章

  1. 无废话Android之activity的生命周期、activity的启动模式、activity横竖屏切换的生命周期、开启新的activity获取他的返回值、利用广播实现ip拨号、短信接收广播、短信监听器(6)

    1.activity的生命周期 这七个方法定义了Activity的完整生命周期.实现这些方法可以帮助我们监视其中的三个嵌套生命周期循环: (1)Activity的完整生命周期 自第一次调用onCrea ...

  2. android Activity的启动模式与flag的见解

    最近做一个安卓项目,想要实现的效果就是:当打开一个按钮的时候,启动了一个A功能,当用户返回到桌面再继续进去的时候,不过之前在哪个Activity,都会先跳转到A功能的那个界面,当用户点击返回的时候,再 ...

  3. android Activity的启动模式

    Android中Activity启动模式详解   在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作.在Android中Activity的启 ...

  4. Activity的启动模式(android:launchMode)

    在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance” 它们主要有如下不同: ...

  5. 4种activity的启动模式

    在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance” 它们主要有如下不同: ...

  6. Activity的启动模式及回退栈的概念

    Activity的启动模式 standard 正常模式 在创建一个新的activity的时候,直接在栈顶创建一个新的activity singleTop 顶部单个 在创建一个新的activity的时候 ...

  7. Activity 的启动模式

    好久没用过那几种activity的启动模式了,如今看到singletop竟然傻了眼,完全忘记了这几种启动模式的区别!隧将两年前的总结翻出来,通读一遍那晦涩难懂的记录,又理解了一遍,在以前记录的基础上, ...

  8. Activity LauchMode启动模式(转载)

    转载于:http://www.cnblogs.com/plokmju/p/android_ActivityLauncherMode.html 在一个Android应用中,不可避免的会包含多个Activ ...

  9. Android开发艺术2之Activity的启动模式

    Activity是Android的四大组件之一,他的重要性毋庸置疑,对于这么重要的一个组件,我们首先要知道这些都是由系统进行管理和回调的,要理解Activity的启动模式,我们首先来了解一下Andro ...

随机推荐

  1. hdu 5438(拓扑+bfs)

    题意:建图,删掉所有连接点小于2的点,直到不能删为止,问最后剩余的联通块中,点的数量是奇数的联通块中的点的权值和. 思路:拓扑删点,bfs计算 #include <iostream> #i ...

  2. AR934X built-in switch链路检测问题及处理方法

    1 问题 在使用QSDK平台配合QCA9531方案时,碰到过2个实在无解的问题,其一:将有线口连接到其它傻瓜交换机上,然后通过无线或另一个有线口登录的设备上,执行ifconfig ethx down, ...

  3. SpringBoot学习之基础篇

    在前面的博文中,已经演示过springboot与Mybatis集成的实例,本篇再来探讨一下SpringBoot的基础.  一.关于SpringBoot SpringBoot可以基于Spring轻松创建 ...

  4. ESLint规范

    配置如下:{ // 环境定义了预定义的全局变量. "env": { //环境定义了预定义的全局变量.更多在官网查看 "browser":true, " ...

  5. 如何在Google上下载高清原图

    在我们学习和生活中常常一些高清图片作为相关的素材,比如制作PPT.写博文.制作视频都需要大量图片.我们常常会在百度上下载一些图片,但是百度上提供的图片存在很多问题:存在水印.清晰度不够等.而Googl ...

  6. css坑了我一下下之line-height

    文字上下有间隙该怎么解决 一次很搞笑的真实经历. 我:文字上下有间隙该怎么解决? 大佬A:什么意思? 大佬B:字体的原因吧. 大佬B:MD 谁看那么细. 我:跟别的图片对不齐. 真·大佬:这个我知道. ...

  7. RedisAsyncClientAdapter-------------接口继承

    public abstract class RedisAsyncClientAdapter<K, V, T extends RedisKeyAsyncCommands<K, V> & ...

  8. Git/GitHub SSH配置

    生成 SSH 公钥 如前所述,许多 Git 服务器都使用 SSH 公钥进行认证. 为了向 Git 服务器提供 SSH 公钥,如果某系统用户尚未拥有密钥,必须事先为其生成一份. 这个过程在所有操作系统上 ...

  9. 31. Next Permutation(中等,搞清楚啥是 next permutation)

    Implement next permutation, which rearranges numbers into the lexicographically next greater permuta ...

  10. samba服务器配置过程

    SAMBA服务器配置 yum install samba samba-client samba-swat 改变文件权限及用户 vi /etc/samba/smb.conf d+G全删注释 复制下面代码 ...