学习Android,了解一些基本概念将有助更深入的去学习和理解Android。在这里,所要讲述的是Android里三个比较基础的概念:Android Application、Activity Stack和 Task。

  1. 什么是Android Application?

  Android Application就是一个android应用程序。简单的理解就是一个apk就是一个Android Application。例如Android平台下自带的应用程序:Browser、Contacts、camera等。

  每一个Application都是由Activity、Service、content Provider和Broadcast Receiver等Android的基本组件所组成,其中Activity是实现应用程序的主体,它承担了大量的显示和交互工作,甚至可以理解为一个界面就是一个Activity。

  2. 什么是Activity Stack?

  如上所诉,Activity承担了大量的显示和交互工作,从某种角度上将,我们看见的应用程序就是许多个Activity的组合。为了让这许多Activity协同工作而不至于产生混乱,Android平台设计了一种堆栈机制用于管理Activity,其遵循先进后出的原则,系统总是显示位于栈顶的Activity,从逻辑上将,位于栈顶的Activity也就是最后打开的Activity,这也是符合逻辑的。

  在操作应用程序时,每次启动新的Activity,都会将此压入Activity Stack,当用户执行返回操作时,移除Activity Stack顶上的Activity,这样就实现了返回上一个Activty的功能。直到用户一直返回到Home Screen,这时候可以理解为移除了Activity Stack所有的Activity,这个Activity Stack不再存在,应用程序也结束了运行。


Activity Stack

  3. 什么是Task?

  Task是指将相关的Activity组合到一起,以Activity Stack的方式进行管理。从用户体验上讲,一个“应用程序”就是一个Task,但是从根本上讲,一个Task是可以有一个或多个Android Application组成的。例如:你想在发送短信时,拍一张照并作为彩信发出去,这时你首先停留在短信应用程序的的Acitivity上,然后跳转到Camera应用程序的Activity上,当完成拍照功能后,再返回到短信应用程序的Activity。这实际上是两个Android Application协同合作后完成的工作,但为了更好的用户体验,Android平台加入了Task这么一种机制,让用户没有感觉到应用的中断,让用户感觉在一“应用程序”里就完成了想完成的工作。

通过下图可以更清晰的理解Application、task、Activity三者之间的关系:


更多相关文章

  1. Android应用程序进程启动过程(后篇)
  2. android Theme启动APP闪屏处理
  3. Android(安卓)Gesture Detector
  4. 主题与样式详解
  5. Layout属性介绍
  6. Android基本概念
  7. android —— 自定义控件 最简单下拉刷新,Google最新(可刷新任何控
  8. ch017 Android(安卓)样式与主题
  9. Android(安卓)Wear

随机推荐

  1. Android表格控件动态生成表格
  2. Android Spinner填充数据后设置默认值
  3. 使用Android Studio3.0新功能,加快Android
  4. Eclipse+Android解决SDK下无doc文件夹问
  5. 升级SDK后,出现这个:This Android(安卓)SDK
  6. Android Studio修改默认.gitignore模板
  7. android获取摄像头视频帧数据
  8. 如何测试APK是否设置android:debuggable=
  9. Android之EditText不自动获取焦点
  10. Android中点击事件的四种写法