Android开发-API指南-<application>[原创译文]

2023-05-16

转载地址:http://blog.sina.com.cn/s/blog_48d491300100zmga.html

< application >
英文原文:http://developer.android.com/guide/topics/manifest/application-element.html
采集(更新)日期:2014-5-30
更新下老的文档,祝贺下自己 42 岁的生日。
语法:
< application android:allowTaskReparenting=["true" | "false"]
    android:allowBackup=["true" | "false"]
    android:backupAgent="string"
    android:debuggable=["true" | "false"]
    android:description="string resource"
    android:enabled=["true" | "false"]
    android:hasCode=["true" | "false"]
    android:hardwareAccelerated=["true" | "false"]
    android:icon="drawable resource"
    android:killAfterRestore=["true" | "false"]
    android:largeHeap=["true" | "false"]
    android:label="string resource"
    android:logo="drawable resource"
    android:manageSpaceActivity="string"
    android:name="string"
    android:permission="string"
    android:persistent=["true" | "false"]
    android:process="string"
    android:restoreAnyVersion=["true" | "false"]
    android:requiredAccountType="string"
    android:restrictedAccountType="string"
    android:supportsRtl=["true" | "false"]
    android:taskAffinity="string"
    android:testOnly=["true" | "false"]
    android:theme="resource or theme"
    android:uiOptions=["none" | "splitActionBarWhenNarrow"]
    android:vmSafeMode=["true" | "false"] >
    . . .
< /application >
包含于:
< manifest >
可包含:
< activity >
< activity-alias >
< meta-data >
< service >
< receiver >
< provider >
< uses-library >
说明:
对应用程序的声明。 本元素包含了声明每个程序组件的子元素,及作用于全部组件的属性。 很多属性(比如 icon、label、permission、process、 taskAffinity 和 allowTaskReparenting) 设置了组件元素中对应属性的默认值。 其他属性(比如 debuggable、enabled、description 和 allowClearUserData)则设置了应用程序的全局属性值,且不能被组件的属性值覆盖。
属性:
android:allowTaskReparenting
当具有相同 affinity 名称的 Task 即将返回前台时,应用程序的 Activity 是否能从启动时的 Task 转移至此 Task 中去  — “ true”表示可以移动,“false”表示必须留在启动时的 Task 中, 缺省值是“false”。
< activity > 元素拥有自己的 allowTaskReparenting 属性,它可以覆盖本值。 详情请参阅其说明。
android:allowbackup
是否允许应用程序参加备份和恢复机制。 如果本属性设为 false ,则不会执行应用程序的备份和恢复,即使是在进行全系统的备份时也不会。 备份机制将会把应用程序的所有数据都通过 adb 保存下来。 本属性的默认值是 true。 
android:backupAgent
实现应用程序备份代理的类名,这是 BackupAgent 的子类。本属性值应为完全限定的类名(比如“com.example.project.MyBackupAgent”)。 不过作为简称,如果名称的首字符是句点(比如“.MyBackupAgent”),则 < manifest > 元素中设置的包名称将会自动加到前面。
没有默认值,必须指定名称。
android:debuggable
应用程序能否被调试,即便是以用户模式运行于设备中时 — “true”表示可以,“false”表示不允许。
默认值是“false”。
 
android:description
供用户阅读的应用程序描述信息,比 label 的内容更多也更详细。 本属性值必须设为对字符串资源的引用。 与 label 不同,本属性不能直接设为字符串。
没有默认值。
android:enabled
Android 系统能否实例化应用程序中的各组件  — “true”表示可以,“false”表示不允许。 如果此值设为“true”,则由每个组件的 enabled 属性确定自身的启用或禁用。 如果此值设为“false”,则覆盖组件的设置值;所有组件都将被禁用。
默认值是“true”。
 
android:hasCode
应用程序是否包含代码 — “true”表示包含,“false”表示不包含。 如果此值设为“false”,则在启动组件时系统不会试图装载任何程序代码。 默认值是“true”。
应用程序不包含任何自有代码的情况极少发生。 仅当只用到了内置的组件类时才有可能,比如使用了 AliasActivity 类的 Activity。
android:hardwareAccelerated
是否为应用程序中所有的 Activity 和 View 启用硬件加速渲染功能 —“true”表示开启,“false”表示关闭。 如果 minSdkVersion 或 targetSdkVersion 的值大于等于“14”,则本属性默认值是“true”。否则,默认值为“false”。
自 Android 3.0 (API 级别 11)开始,应用程序可以使用硬件加速的 OpenGL 渲染功能来提高很多常用 2D 图形操作的性能。 当开启硬件加速渲染功能时,大部分 Canvas、Paint、Xfermode、ColorFilter、Shader 和 Camera 中的操作都会被加速。 即便应用程序没有显式地调用系统的 OpenGL 库,这仍能使动画更加平滑、屏幕滚动也更加流畅、整体响应速度获得改善。
请注意,并非所有的 OpenGL 2D 操作都会被加速。 如果开启了硬件加速渲染功能,请对应用程序进行测试以确保使用渲染时不会出错。
更多信息,请参阅硬件加速指南。
android:icon
代表整个应用程序的图标,也即应用程序中每个组件的默认图标。 请参阅 < activity >、 < activity-alias >、 < service >、 < receiver >和 < provider > 元素各自的icon属性。
本属性必须设为对 drawable 资源的引用(例如“ @drawable/icon ”)。 图标没有默认值。
android:killAfterRestore
在执行全系统的恢复操作时,配置恢复后相关的应用程序是否要被终止。 单个包的恢复操作不会导致程序被关闭。 全系统的恢复操作一般只会发生一次,即第一次配置手机时。 第三方应用程序通常不需要用到本属性。
默认值是“true”,表示全系统恢复过程中,应用程序在处理完数据后将被关闭。
android:largeHeap
应用程序的进程是否会用较大的 Dalvik 堆来创建。 这将作用于所有为该应用程序创建的进程,但只对第一个被装入进程的应用程序生效。 如果通过共享用户 ID 的方式让多个应用程序公用一个进程,那么这些应用程序必须全部指定本选项,否则将会导致不可预知的后果。
大部分应用程序不需要用到本属性,而是应该关注如何减少内存消耗以提高性能。 使用本属性并不能确保一定会增加可用的内存,因为某些设备可用的内存本来就很有限。
要在运行时查询可用的内存大小,请使用 getMemoryClass() 或getLargeMemoryClass() 方法。
android:label
供用户阅读的代表整个应用程序的文本标签,也即应用程序中每个组件的默认标签。 请参阅 < activity >、 < activity-alias >、 < service >、 < receiver > 和< provider > 元素各自的 label 属性。
文本标签应设为一个字符串资源的引用,这样就能像其它用户界面内的字符串一样对其进行本地化。 不过,考虑到开发时的便利性,也可以将其直接设为字符串。
android:logo
整个应用程序的 logo 标识,也即各 Activity 的默认 logo。
本属性必须设为对 drawable 资源的引用,该资源中包含了图片文件(例如“@drawable/logo”)。 logo 没有默认值。
android:manageSpaceActivity
指定某个 Activity 子类的完全限定名称,系统可以启动此 Activity 来让用户管理应用程序占用的内存空间。 这个 Activity 必须已用 < activity > 元素进行了声明。
android:name
实现本应用程序的 Application 子类的完全限定名称。 当应用程序开始运行时,此类将先于所有程序组件被初始化。
该子类是可选的:大多数应用程序不需要用到。 在未提供子类置时,Android 将使用 Application 类的实例。
android:permission
客户端要与应用程序交互而必须拥有的权限名称。 本属性为一次设置适用于全部程序组件的权限提供了一个便捷途径。 它可以被组件各自的 permission 属性覆盖。
关于权限的详细信息,请参阅介绍一文中的 权限  章节和另一篇文档 安全和权限。
android:persistent
应用程序是否需要一直保持运行状态 —“true”表示是,“false”表示否。 默认值是“false”。 一般情况下,应用程序不应该设置本标志;持久运行模式仅适用于某些特定的系统应用。
android:process
应用程序的全部组件都将运行于其中的进程名称。 每个组件通过设置各自的 process 属性,可以覆盖本缺省值。
默认情况下,当需要运行应用程序的第一个组件时,Android 会为程序创建一个进程。 然后所有组件都会运行在这个进程中。 默认进程的名称与 < manifest > 元素设置的包名一致。
通过将本属性设置为其他应用程序的进程名称,可以让两个应用程序的组件运行于同一个进程中 — 但只有这两个程序共享同一个用户 ID 并用同一个证书签名时才行。
如果赋予本属性的名称是以冒号(':')开头的,则必要时将会为应用程序创建一个新的私有进程。 如果进程名称以小写字母开头,则将创建以此名称命名的全局进程。 全局进程可以被其他应用程序共享,以减少资源的占用。
android:restoreAnyVersion
指明应用程序是否将尝试恢复任何备份数据集,即使备份数据的程序版本比当前安装的要新。 本属性设为 true 将允许 Backup Manager 尝试恢复操作,即使发生版本冲突也即数据版本不兼容时也是如此。 使用本属性时务必小心!
本属性的默认值是“false”。
android:requiredAccountType
设定应用程序所需的账户类型。 如果应用程序需要一个 Account 才能运行,本属性值必须与账户的认证类型(由 AuthenticatorDescription 定义)吻合,比如“com.google”。
默认值是 null ,表示应用程序 不需要 任何账户就可以运行。
因为目前的受限用户配置功能(Restricted Profile)无法添加账户,设定本属性的应用程序对于受限用户而言是不可用的, 除非你同时将 android:restrictedAccountType 也声明为相同的值。
提醒 如果账户数据可能会泄露个人身份信息,声明本属性就很重要了,并且要把  android:restrictedAccountType  设置为 null ,这样受限用户就无法用你的应用程序来访问机主的个人信息了。
本属性自 API 级别 18 开始加入。
android:restrictedAccountType
设定本应用程序所需的账户类型,并允许受限用户访问机主的该账户。 如果应用程序需要使用 Account 并且允许受限用户访问主账户,本属性值必须与应用程序的账户认证类型(由 AuthenticatorDescription 定义)吻合,比如“com.google”。
默认值为 null ,表示应用程序不需要 任何账户就可以运行。
提醒: 设置本属性将允许受限用户通过主账户使用你的应用程序,这可能会泄露个人身份信息。 如果账户可能会泄露个人信息,请勿使用本属性,而是使用 android:requiredAccountType 属性,以禁止受限用户的使用。
本属性自 API 级别 18 开始加入。
android:supportsRtl
声明应用程序是否要支持自右向左(RTL)布局(Layout)。
如果本属性设为  true 并且 targetSdkVersion 为 17 以上版本,则系统将会激活并使用各种 RTL API ,应用程序就可以显示 RTL Layout。 如果本属性设为 false 或者 targetSdkVersion 为 16 以下版本,则 RTL API 将会被忽略或失效,应用程序将忽略与 Layout 方向有关的用户本地化选项(Layout 都将从左到右布局)。
本属性的默认值是 false。
本属性自 API 级别 17 开始加入。
android:taskAffinity
供应用程序中全部 Activity 使用的 affinity 名称,那些在各自的 taskAffinity 属性中设置了其他 affinity 的 Activity 除外。 详情请参阅 Activity 的 affinity 属性。
默认情况下,应用程序中的所有 Activity 都共享同一个 affinity 。affinity 的名称与 < manifest > 元素中设置的包名称相同。
android:testOnly
标明本应用程序是否仅供测试。 比如,本应用程序可能会暴露一些不属于自己的功能或数据,这将引发安全漏洞,但对测试而言这又非常有用。 这种应用程序只能通过 adb 进行安装。
android:theme
对样式(style)资源的引用,该资源定义了应用程序内所有 Activity 的默认主题(theme)。 每个 Activity 可以用各自的 theme 属性覆盖默认主题。 详情请参阅开发指南的 样式和主题。
android:uiOptions
供 Activity UI 使用的附加选项。
必须设为以下值之一。
值 说明
"none" 没有附加 UI 选项。这是默认值。
"splitActionBarWhenNarrow" 当横向空间受限时(比如设备处于纵向模式时),在屏幕底部添加一横条,用于显示 ActionBar 中的 Action 项。 这时不再是在屏幕顶部的 ActionBar 中显示有限的几个 Action 项了,ActionBar 拆分为顶部导航栏和底部横条。 这就确保了合理的可用空间,不仅可以容纳 Action 项,还可以在顶部显示导航和标题。 菜单项不会被拆分为两部分,还是会放在一起显示。
关于 ActionBar 的更多信息,请参阅Action Bar 开发指南。
本属性自 API 级别 14 开始加入。
android:vmSafeMode
标明应用程序是否期望虚拟机(VM)运行于安全模式。 默认值是“ false”。
引入自:
API 级别 1
参阅:
< activity >
< service >
< receiver >
< provider >

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android开发-API指南-<application>[原创译文] 的相关文章

  • OSInit()简介

    在uC OS II的学习中 xff0c OSInit 是一个重要的函数 xff0c 它在OS应用中的void main 函数中首先被调用 xff0c 是OS运行的第一个函数 如下程序 xff0c 它完成各初始变量的初始化 xff0c 建立任
  • OSStart()函数简介

    多任务的的启动是通过调用OSStart xff08 xff09 实现的 xff0c 而在启动uc os之前至少需要建立一个应用任务 OSStart xff08 xff09 函数源码 void OSStart void INT8U y INT
  • SMS编码之PDU – 接收短信篇

    上一篇文章简单介绍了下收发短信需要用到的AT指令 xff0c 这篇文章详细分析SMS编码中的PDU编码 首先我用测试手机向短信猫中的sim卡发送了两条短信 xff0c 内容分别为 xff1a Hello World Hello World
  • PDU短信发送与接收格式分析

    一 PDU发送和接收格式分析 PDU是大多数手机短信通讯的核心 xff0c 仅有少数手机只支持Text模式 PDU模式比起Text模式可以提供能为强大的功能 xff0c 但其编码较Text模式困难 无论哪种模式 xff0c 我们都可以通过A
  • ucos OSTimeDly

    来源 xff1a http blog sina com cn s blog 5f9b3de40100e182 html OSTimeDly 在Task中 xff0c 一般执行一段时间之后调用OSTimeDly推迟一段时间再继续运行 xff0
  • WinCE中断结构分析

    以前写的原创博文 xff0c 这里放一份 前一段时间研究了一下WinCE下的中断结构 xff0c 整理了一下 xff0c 希望与大家讨论 最下面有PDF版本下载 xff0c 便于保存 Windows Embedded CE 中断结构分析 关
  • Google chrome 中文版下载

    Google release了自己的浏览器Chrome xff0c 大家可以试试看 xff0c 我觉得还不错 xff0c 对Web2 0的支持还好 xff0c 不知道安全性如何 我发现看tudou和youku等视频有问题 内存占用太大了 x
  • (下载)WinCE注册表编辑器(PC端)

    可以在PC上通过ActiveSync来查看 xff0c 修改device端的注册表 xff0c 方便调试 http download csdn net source 749005 注 xff1a 本人提供的下载均不要资源点
  • (下载)WinCE镜像传输工具ESHELL

    WinCE镜像传输工具ESHELL 使用这个可以不用装PB也可以传输镜像 xff0c 其实就是一个TFTP的传输 xff0c 适用于CE5 xff0c CE6 http download csdn net source 835336 不用资
  • I/O的控制方式——查询,中断,dma

    早期 xff0c I O串行 xff0c 查询方式 发展 xff0c I O并行 xff0c 两种方式其一是中断方式 xff0c 其二是dma方式 xff0c 使得外部设备能直接与主存储器信息交换 xff0c 减轻了cpu的工作量 技术继续
  • 关于WinCE下MC55使用Unimodem进行GPRS拨号,拨上出现断开连接,检查波特率的问题的另一种可能情况

    http www armce com bbs thread 59 1 1 html
  • WinCE上BINFS实现详解

    作者 wwfiney 64 ARMCE 网上不少介绍三星24x0系列的BIN FS启动方式实现 xff0c 有些内容上描述的不是非常全面 下面就WinCE6上的BINFS实现 xff0c 从基本原理 到修改BSP xff0c 再到如何烧录启
  • i.MX27支持8GBSDHC卡驱动修改

    最近需要给mx27加上SDHC驱动 以支持SDHC的SD卡 网上许多关于2440支持SDHC的文章 xff0c 借鉴很多 xff0c 但是由于MX27驱动的特殊结构 xff0c 需要做更多改动 xff0c 详细如下 xff1a 平台 xff
  • /etc/init.d/rcS文件详解

    我使用的简单rcS文件内容如下 最后的IP地址设定非常重要 xff0c 一定要跟服务器的地址再同一个网段 xff0c 不然会出现无法连接错误 nfs server 192 168 0 102 not responding still try
  • CAN通讯的byte序和bit序

    听别人说起CAN通讯协议的时候总说到Intel格式和motorola格式的时候 Intel格式如何 xff0c Motorola格式又如何 xff1f 觉得很有必要搞懂这些知识 xff0c 也看了相关资料 xff0c 可直到今天还没明白 真
  • ROS学习笔记(一):创建工作空间和功能包

    所有的ROS程序 xff0c 包括我们自己开发的程序 xff0c 都被组织成功能包 xff0c 而ROS的功能包被存放在称之为工作空间的目录下 因此 xff0c 在我们写程序之前 xff0c 第一步是创建一个工作空间以容纳我们的功能包 其实
  • PHP活动报名小程序系统源码 带后台管理程序

    活动报名小程序源码 xff0c 基于thinkphp开发的报名小程序源码 xff0c 带有后台管理 xff0c 用户发布活动信息 报名可以后台管理 xff0c 基本都还是可以的 不过需要注意的是 xff0c 用户注册部分是发送手机短信 xf
  • NVIDIA Jetson Xavier NX部署VINS-fusion-GPU

    组内大佬师兄今天抽出时间总结了一篇博客 xff0c 主要内容是 xff1a 把在阿木P450无人机上 xff0c 对自带的NVIDIA Jetson Xavier NX边缘计算机部署VINS fusion GPU教程 xff0c 并进行实验
  • 接口策略路由配置(通过流策略技术实现)

    策略路由 xff1a xff08 先于路由表 xff0c 且不会生成路由表 xff09 策略路由和路由策略都可以影响数据包的转发过程 xff0c 但他们对数据包的影响方式是不同的 本地策略路由 xff1a 仅对本机 下发的报文进行处理 xf
  • Mac Xcode崩溃 (打开ios项目引起崩溃)

    bug xff1a 每次打开此工程都会导致Xcode崩溃 其他工程没有问题 解决办法 xff1a 1 确定本地跟服务器没有需要更新和提交的代码 2 把本地工程移到废纸篓 3 从新check out工程 4 新工程完美运行 xff08 这样没

随机推荐