06 Activity的启动模式 Intent的七大属性的总结

原创 2016年08月29日 18:39:53
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


版权声明:范明毅的个人博客,欢迎转载,转载请注明出处

相关文章推荐

Activity的启动模式以及Intent的七大属性

一、Task以及back stack Task(任务)  为了完成一个功能  多个Activity的集合, 当你的应用程序启动时 系统会自动创建Task用于管理Activity Back...

06 Activity的启动模式

  • 2015-11-22 16:42
  • 77KB
  • 下载

Activity的启动模式和Intent标记位

Activity的四种启动模式: 便于记忆: 1、standard(默认)     每次跳转都会创建一个新的Activity对象 2、singleTop     栈顶单实例     a、当act...

android面试02-Activity启动模式 及 Intent Flags 与 栈 的关联分析

在学习Android的过程中,Intent是我们最常用Android用于进程内或进程间通信的机制,其底层的通信是以Binder机制实现的,在物理层则是通过共享内存的方式实现的。 Intent主要...

Android activity栈、启动模式和intent flag属性详解

一、activity栈的概念        1.每个app应用程序启动的activity都会保存在一个单独的栈里面。        2.有可能某个activity发生栈转移。 二、acitivity...

android Activity启动模式与intent Flags

activity四种启动模式 intent Flags activity taskAffinity FLAG_ACTIVITY_CLEAR_TOP FLAG_ACTIVITY_SING...

Activity启动模式 及 Intent Flags 与 栈 的关联分析

在学习Android的过程中,Intent是我们最常用Android用于进程内或进程间通信的机制,其底层的通信是以Binder机制实现的,在物理层则是通过共享内存的方式实现的。     Intent主...

Android开发笔记----Activity再学习(生命周期、启动模式、intent-filter)

本文参考了任玉刚前辈的《Android开发艺术探索》一书,可以说是该书相关内容的读书笔记。 (一) Activity生命周期: 正常启动:onCreate->onStart->onResume ...

Activity启动模式 及 Intent Flags 与 栈 的关联分析

Activity启动模式 及 Intent Flags 与 栈 的关联分析 - 未来之路 的专栏 - 博客频道 - CSDN.NET http://blog.csdn.net/vipzjyno1...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)