Android

      Android的Task是一个Activity栈,用来完成用户的某一个目的,而不管这个Acitivity是属于哪个AP的。Task中的Activity可以分属于不同的AP。

      在Task中,有一个Acitivity叫root activity,它是用来启动一个Task。

        Tasks在系统中做交互的时候,这个Task所包含的所有Activities会被作为一个整体移动。比方说:Task A被设置成foreground/background task的时候,   整个task(activity stack)都会随之移动。

(再补充一点就是说:一个Activity栈也可能是由一个或多个Task组成。)

Task中还有一个重要的属性就是用户可以中断目前正在做的事情,而去跑另外一个Task。基于这样一个特性,用户就可以同时跑不同的task,而且可以在它们之间切换。
有三个方法中断Task:1.Notification;2.用户操作,比如按Home或者开启另外一个程序;3.Activity中自己定义的New Task,比如说Map或者Browser,在Email中选择address会Launch Google Map,选择Link会Launch Browser,等等。

Applications:

一个Android Application由一个或者多个Acitivity组成,这其中或许还包括一个或多个Service,它会被打包成.apk文件。

补充:Launch Activity的四种模式:standard(default),singleTop,singleTask,singleInstance
standard或者singleTop activity可以被实例化多个,而singleTask或singleInstance只可以有一个实例。
   Activity B      Activity B
   Activity D      Activity B
   Activity C      Activity D          singleTop = single + top
   Activity B      Activity C
   Activity A      Activity A
  B是singleTop    B不是singleTop

多个Activity组成了一个Task集合单元

  本人画了一图给大家参详细一下,也许思路会更明确:

 

 还给大家引入一概念: 显示对话框的Activity

运行效果:

  

  只需要改AndroidManifest.xml中    android:theme="@android:style/Theme.Dialog"
            >就OK了

 源代码和上次Activity生命周期一样.大家可以去下载多加一个Activity

 本人把AndroidManifest.xml代码发出来共享一下:

  

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
 3     package="com.example.activity04"
 4     android:versionCode="1"
 5     android:versionName="1.0" >
 6 
 7     <uses-sdk
 8         android:minSdkVersion="8"
 9         android:targetSdkVersion="16" />
10 
11     <application
12         android:allowBackup="true"
13         android:icon="@drawable/ic_launcher"
14         android:label="@string/app_name"
15         android:theme="@style/AppTheme" >
16         <activity
17             android:name="com.example.activity04.MainActivity"
18             android:label="@string/app_name" >
19             <intent-filter>
20                 <action android:name="android.intent.action.MAIN" />
21 
22                 <category android:name="android.intent.category.LAUNCHER" />
23             </intent-filter>
24         </activity>
25         <activity
26             android:name="com.example.activity04.SecondActivity"
27             android:label="@string/title_activity_second"
28               android:theme="@android:style/Theme.Dialog"
29             >
30         </activity>
31         <activity
32             android:name="com.example.activity04.ThridActivity"
33             android:label="@string/title_activity_Thrid"
34            >
35         </activity>
36     </application>
37 
38 </manifest>

 

 

 


<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值