详细阐述有关Android属性问题

移动开发 Android
下面文章着重介绍Android属性的相关问题,所谓的Android是基于Linux内核的软件平台和操作系统,它采用了软件堆层的架构。

Android属性的内容包括:更容易的设计集成、扩充的部署选项、更为丰富多彩的登录和个性化服务以及更好的数据访问和同步,希望大家能够从中得到相关自己想要的信息。

并调用startActivity().这时候,地图组件可以显示地图,当用户点击“后退”按钮,你的activity会重新显示在屏幕上。对用户来说,即使地图程序是定义在另外一个程序中、在另外一个进程中运行,但是它看起来好像你的程序的一部分。

Android属性通过将2个activities放在用一个任务中,使得用户有这样的体验。这一系列的activities,安排在一个堆栈中。堆栈中的根activity是任务的开始,或者说是用户选择的应用程序的第一个activity。堆栈顶部的activity 是当前正在运行的activity— 目前正在吸引用户注意的一个。

当一个activity启动另外一个的时候,新的activity被压栈,变为当前activity. 之前的activity 还在任务中。当用户点击后退(BACK)键,当前的acitivity被弹出栈,之前的activity成为正在运行的。如果堆栈中有多个同样的activity的实例,如有多个地图查看器(如程序设定了多个打开地图查看器的入口),那么堆栈不可以重新排序,只能弹出和压入。

任务是activities的堆栈,而非装箱单中的一个类,因此不能离开activity单独设定一个堆栈的值。例如,下面一章将要谈到‘任务的吸引力’,这个值就是设定在任务的根activity里面的。

任务中的所有activities作为一个整体移动。整个任务可以放在前台(foreground)或者后台(background)运行。想象一下,例如,有个任务有4个activities,用户点击“HOME”键,回到程序开始的地方,选择了一个新的程序(其实是一个新的任务)。

当前的任务移到后台运行,新任务的根activity开始显示。过了一会,用户又回到HOME界面,选择了刚才的程序(刚才的任务)。则这个含有4个activities的任务回到前台运行。当用户点击BACK按钮,屏幕不会显示用户刚刚离开时候的activity,而是在堆栈顶部的activity被弹出,显示前一个activity。

默认的情况下,上面这些描述是没有问题的。当然,也有很多办法来改变以下:任务和activity的关系、任务中一个activity的动作。这些是被Intent对象(启动此acivity的)的标志集(flag set)和activity在装箱单中的<activity>节点控制的。

Intent的标志集包括:

  1. FLAG_ACTIVITY_NEW_TASK   
  2. FLAG_ACTIVITY_CLEAR_TOP   
  3. FLAG_ACTIVITY_RESET_TASK_IF_NEEDED   
  4. FLAG_ACTIVITY_SINGLE_TOP 

典型的<activity> 的节点属性如下:

  1. taskAffinity   
  2. launchMode   
  3. allowTaskReparenting   
  4. clearTaskOnLaunch   
  5. alwaysRetainTaskState   
  6. finishOnTaskLaunch 

本文进行详细说明了这些标记和Android属性的意义和互动。

【编辑推荐】

  1. Android应用程序组建原理深入剖析
  2. Android SMS短信服务相关概念简述
  3. PythonAndroid数据库相关代码解读
  4. PythonAndroid安装卸载程序具体操作方法解析
  5. Android应用程序的四个关键点
责任编辑:chenqingxiang 来源: CSDN
相关推荐

2010-02-06 10:04:10

Android启动模式

2010-02-03 13:27:17

Python 特性

2010-01-13 11:27:06

C++安全性

2010-02-07 10:40:55

Android Int

2009-09-17 13:10:48

linq动态排序

2009-06-16 14:18:54

Hibernate的优

2010-02-03 17:10:12

Python编写

2010-02-22 13:20:58

Python中文问题

2010-01-13 13:27:00

C++优化

2010-03-05 15:58:11

操作系统Android

2010-02-06 16:57:43

Android操作系统

2009-12-01 13:10:29

VS2003压缩代码

2010-02-06 15:19:35

2010-05-05 18:44:27

服务器负载均衡

2010-02-04 16:43:18

Android 配置问

2010-02-05 18:04:36

Android程序框架

2010-01-07 17:48:02

JSON结构

2010-01-11 15:55:51

C++语言

2010-02-07 15:20:05

Android

2009-09-15 23:21:17

Linq插入数据
点赞
收藏

51CTO技术栈公众号