【第21期】观点:人工智能到底用 GPU?还是用 FPGA?

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

原创 2016年08月29日 22:02:09

一、Task以及back stack


Task(任务)  为了完成一个功能  多个Activity的集合,
当你的应用程序启动时 系统会自动创建Task用于管理Activity
Back stack:(回退栈)按照Activity启动顺序 后进先出



二、Activity的启动模式:


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

               android:launchMode="standard"

2,singleTop(拒绝堆叠)

              android:launchMode="singleTop"

      1,没有这个Activity 直接创建
      2,如果有 并且在栈顶  直接拿来使用 调用onNewIntent(Intent intent)方法
      3,如果有  没有在栈顶  重新创建一个Activity实例

3,singleTask:(独立门户)

                android:launchMode="singleTask"
1,没有Activity直接创建
2,如果有 并且在栈顶  直接拿来使用  调用onNewIntent(Intent intent)方法
3,如果有  没有在栈顶  将在它上方的 Activity pop出去  自身有回到栈顶位置调用onNewIntent(Intent intent)方法

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

               android:launchMode="singleInstance "

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

三、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"          taskAffinity用于指定当前Activity(activity1)所关联的Task,
android:allowTaskReparenting="true"          allowTaskReparenting用于配置是否允许该activity可以更换从属task



版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

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

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

activity属性,加载模式等

在activity的配置文件中提供了四种activity的加载模式: android:launchMode="standard"/"singleTop"/"singleTask"/"singleInstanse" 我们在设计应用程序的时候首先要把activity之间的跳转关系确定好,以及它什么时间该pause,stop,destroy都要进行严格的控制,而以前不知道activity的加载模式的时候老是打开了很多activity,然后在点击返回的时候同一activity出现很多次才回到主页面,现在总结一下activity四种加载模式 首先如果我们不写默认的是standard,它表示

android自学第六天 Activity管理及Intent七大属性

一、任务与回退栈: (一)、任务Task: 1、概念: 一个任务(task)就是在执行某项工作时与用户进行交互的Activity的集合。这些Activity按照被打开的顺序依次被安排在一个堆栈中...

区分Activity的四种加载模式----以及Intent的setFlags

区分Activity的四种加载模式----以及Intent的setFlags 2012-03-11 21:21 区分Activity的四种加载模式----以及Intent的setFlags 分类: android-example 2011-07-15 14:43 583人阅读 评论(0) 收藏 举报 转载来源——http://marshal.easymorse.com/archives/2950 区分Activity的四种加载模式 在多Activity开发中,有可能是自己应用之间的Activity跳转,或者

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

1.Task以及back stack     >Task(任务)  为了完成一个功能  多个Activity的集合,     当你的应用程序启动时 系统会自动创建Task用于管理Activity ...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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