学习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不再存在,应用程序也结束了运行。

Android 基本概念_第1张图片

Activity Stack

  3. 什么是Task?

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

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

Android 基本概念_第2张图片


更多相关文章

  1. Android应用程序进程启动过程(后篇)
  2. 比如说我们要从用户表customer和用户订单表orders中,查询上海的用
  3. Catalog Service - 解析微软微服务架构实例代码
  4. 实现内容精准化搜索和用户精准化推送的实例教程
  5. 介绍一个微软开源项目网站--CodePlex
  6. ASP.NET Core 应用程序发布命令实例
  7. C#开发微信门户及应用(五)之用户分组信息管理
  8. C#开发微信门户及应用(四)之关注用户列表及详细信息管理
  9. Asp.net MVC 对用户输入的字符串做Trim处理的方法实例

随机推荐

  1. Android实现微信右上角弹出的菜单
  2. Android(安卓)Studio 开发经验纵览
  3. Android frameworks添加资源后编译报错:找
  4. 有米Android SDK开发者文档
  5. Android05
  6. android manifest 文件Activity配置节中
  7. Android之HttpsURLConnection访问网络(an
  8. 安卓开发学习之002 LinearLayout之androi
  9. mono for android 学习记录
  10. 跟着第二行代码回顾Android--持久化技术