android:configChanges

这个属性列出了那些需要Activity进行自我处理的配置变化。当在运行时配置变化发生的时候,默认情况下,这个Activity会被关掉并重启,但是用这个属性声明一个配置,就会阻止Activity被重启。相反,这个Activity会保持运行,并且它的onConfigurationChanged()方法会被调用。

注意:应该避免使用这个属性,并且只把它作为最后的手段来使用。有关如何正确处理配置改变期间的重启,请阅读“处理运行是变化”(http://blog.csdn.net/fireofstar/article/details/7456363

下表中列出了这个属性的有效值,要设置多个值的时候,用“|”符号连接,例如:“locale|navigation|orientation”

说明

mcc

IMSI移动国家编码改变时要进行自我处理---系统发现了一个新的SIM卡,并且更新了MCC。

mnc

IMSI移动网络编码改变时要进行自我处理---系统发现了一个新的SIM卡,并且更新了MNC

locale

语言环境发生变化时要进行自我处理---用户选择了一种用于显示文本的新语言。

touchscreen

触屏发生变化时要进行自我处理。(这种情况通常不会发生)

keyboard

键盘类型发生变化时,要进行自我处理。例如用户插入了一个外部键盘

keyboardHidden

键盘的可用性发生变化时,要进行自我处理。例如用户启用了硬件键盘。

navigation

导航类型(轨迹球/方向板)发生变化时,要进行自我处理。这种情况通常不会发生。

screenLayout

屏幕布局发生变化时,要进行自我处理。这可能是由被激活的不同的显示方式所导致的变化。

fontScale

字体的缩放因子发生变化时,要进行自我处理。如用户选择了一个新的全局字体尺寸。

uiMode

用户界面发生变化时,要进行自我处理。在把设备放入桌面/轿车内或夜间模式变化时,会导致这种情况发生。它在API级别8中被引入。

orientation

屏幕的方向发生变化时,要进行自我处理。用户旋转设备时会发生这种变化。

注意:如果应用程序的目标API级别是13或更高的版本,那么还应该声明screenSize配置,因为设备在横向和纵向之间切换时,对应的尺寸也会发生变化。

screenSize

当前有效的屏幕尺寸发生变化时,要进行自我处理。这种变化意味着当前可用的相对长、宽比的尺寸发生了变化,因此当用户在横向和纵向之间切换时,就会产生屏幕可用尺寸的变化。但是,如果应用程序是在API级别12或更低的版本上编译的,那么Activity就要始终自己来处理这种变化(这个配置的变化不会重启Activity,即使是运行在Android3.2或更高版本的设备上)。

这个设置在API级别13中被引入。

smallestScreenSize

物理尺寸发生变化时,要进行自我处理。这种变化不关注屏幕方向的变化,只在实际的物理屏幕尺寸发生变化时才会发生,如切换到另一个显示器上的时候。这个变化对应smallestWidth属性的配置来进行改变。如果应用程序是在API级别12或更低的版本上编译的,那么Activity就要始终自己来处理这种变化(这个配置的变化不会重启Activity,即使是运行在Android3.2或更高版本的设备上)。

这个设置在API级别13中被引入。

所有这些配置的改变都会影响到应用中所能看到的资源值。因此,当onConfigurationChanged()方法被调用时,通常需要重新获取所有的资源(包括布局资源、可绘制资源等等),以便能够正确的处理这些改变。

android:enabled

这个属性用于设置Activity是否能够被系统实例化。如果设置为true,则可以被实例化,如果设置为false,则不能被实例化。默认值是true。

<application>元素有它自己的enabled属性,它的这个属性设置会用于应用程序中的所有组件,包括Activity。<application>和<activity>元素的这个属性必须要设置为true(默认情况下都是true),以便系统能够实例化Activity。否则Activity不能被实例化。

android:excledeFromRecents

这属性用于设置由该Activity所启动的任务是否应该被排除在最近使用的应用程序列表之外。也就是说,当这个Activity是一个新任务的根节点时,这个属性决定了这个任务适应要显示在用户最近使用的应用程序列表中。如果设置为true,则这个任务会被排除在列表之外,如何设置为false,则应该包含在最近使用的应用列表中。默认值是false。

android:exported

这个属性用于设置该Activity能否由另一个应用程序的组件来启动,如果设置为true,则可以启动,否则不能启动。如果设置为false,那么该Activity只能被同一个应用程序中的组件或带有相同用户ID的应用程序来启动。

它的默认值要依赖与该Activity是否包含了Intent过滤器。如果没有任何过滤器,则意味着该Activity只能通过明确的类名来调用,这样就暗示者该Activity只能在应用程序内部使用(因为其他用户不会知道它的类名),因此在这种情况下,默认值是false。在另一方面,至少存在一个过滤器,则暗示着该Activity可被外部使用,因此默认值是true。

这个属性不是限制Activity暴露给其他应用程序的唯一方法。还可以使用权限来限制外部实体对该Activity的调用。

android:finishOnTaskLaunch

这个属性用于设置既存的Activity实例,在用户再次启动(在主屏上选择这个任务)它所属的任务时,是否应该被关闭。设置为true,则要关闭,否则不关闭,默认值是false。

如果这个属性和allowTaskReparenting属性都被设置为true,那么这个属性要优于其他属性,Activity的亲缘关系会被忽略。该Activity不会被转移父任务,而是被销毁。

android:hardwareAccelerated

这个属性用于设置该Activity是否应该启用硬件加速渲染。如果设置为true,则启用硬件加速,否则不启用。默认设置是false。

从Android3.0开始,硬件加速的OpenGL渲染器对应用程序可用,以便改善许多共同的2D图形操作的性能。当硬件加速渲染器被启用时,在Canva、Paint、Xfermode、ColorFilter、Shader和Camera中大多数操作都会被加速。这样会使动画、滚动更平滑,并改善整体的响应效果,即使应用程序没有明确要使用框架的OpenGL类库。因为启用硬件加速会增加系统的资源需求,所以应用程序会占用更多的内存。

要注意的是,不是所有的OpenGL 2D操作都会被加速。如果启用了硬件加速渲染,就要对应用程序进行充分测试,以确保所使用的渲染没有错误。

android:icon

这属性定义了代表Activity的一个图标。当Activity被要求显示到屏幕上时,这个图标会被显示给用户。例如,这个图标会显示在Launcher的窗口中,用于启动任务。这个图标经常会和label属性组合使用。

这个属性必须被设置为一个包含图片定义的可绘制资源。如果没有设置,就会使用给应用程序设置的图标来代替。

Activity的图标(或者是<application>元素设置的图标)也是所有的Activity的Intent过滤器的默认图标。

android:label

这个属性给Activity设置了一个可读的标签。当Activity要展现给用户的时候,这个标签会显示在屏幕上,它经常会跟Activity的图标一起来显示。

如果这个属性没有被设置,就会使用给应用程序设置的标签来代替。

Activity的标签(或者是<application>元素设置的标签)也是所有Activity的Intent过滤器的默认标签。

这个属性应该用一个字符串资源来设置。以便它能够在用户界面中用其他的语言来本地化。但是为了开发应用程序的便利,也可以用原始的字符串来设置。

AndroidManifest.xml文件详解(activity)(二)的更多相关文章

  1. [转]AndroidManifest.xml文件详解

    转自:http://www.cnblogs.com/greatverve/archive/2012/05/08/AndroidManifest-xml.html AndroidManifest.xml ...

  2. AndroidManifest.xml文件详解(uses-permission)

    语法(SYNTAX): <uses-permissionandroid:name="string"/> 被包含于(CONTAINED IN): <manifest ...

  3. AndroidManifest.xml文件详解

    本文为安全专家李洋的最新一篇专栏文章<AndroidManifest.xml文件详解>.AndroidManifest.xml是一个跟安全相关的配置文件,该配置文件是Android安全保障 ...

  4. AndroidManifest.xml文件详解(meta-data)

    http://blog.csdn.net/think_soft/article/details/7567189 语法(SYNTAX): <meta-dataandroid:name=" ...

  5. AndroidManifest.xml文件详解(activity)(一)

    <activity android:allowTaskReparenting=["true" | "false"] android:alwaysRetai ...

  6. AndroidManifest.xml文件详解(activity)(五)

    android:taskAffinity 这个属性用于跟Activity有亲缘关系的任务.带有相同亲缘关系的Activity,在概念上是属于相同任务的(从用户的角度看,它们是属于同一应用程序的).任务 ...

  7. AndroidManifest.xml文件详解(activity)(四)

    android:multiprocess 这个属性用于设置Activity的实例能否被加载到与启动它的那个组件所在的进程中,如果设置为true,则可以,否则不可以.默认值是false. 通常,一个新的 ...

  8. AndroidManifest.xml文件详解(activity)(三)四种工作模式

    android:launchMode 这个属性定义了应该如何启动Activity的一个指令.有四种工作模式会跟Intent对象中的Activity标记(FLAG_ACTIVITY_*常量)结合在一起用 ...

  9. 【Android 复习】:AndroidManifest.xml 文件详解

    <?xml version="1.0" encoding="utf-8"?> <!-- package 包表示整个Android应用程序的主要 ...

随机推荐

  1. hihoCoder[Offer收割]编程练习赛1题目解析

    题目1 : 九宫 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描写叙述 小Hi近期在教邻居家的小朋友小学奥数.而近期正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不反 ...

  2. OpenSSL生成证书详解 如何使用OpenSSL生成自签证书 转载

    原文:http://my.oschina.net/fajar/blog/425478 使用OpenSSL生成自签证书(亲测) 一,前言 读过我博客的小伙伴儿都知道,我一般在前言里面会提到为什么写这篇博 ...

  3. 记一下吧,又记不住啦。pipe

    currencydateuppercasejsonlimitTolowercaseasyncdecimalpercent ts == import { CurrencyPipe } from '@an ...

  4. tomcat中的Manager App帐号password管理

    tomcat根文件夹下的conf文件夹下有个tomcat-users.xml文件 填写内容例如以下 <? xml version='1.0' encoding='utf-8'? >< ...

  5. loongson官方PMON使用

    目录 [隐藏]  1 PMON使用介绍 1.1 进入PMON控制界面 1.2 Pmon的图形界面 1.3 Pmon的基本命令 1.3.1 Boot and Load 启动与加载内核 1.3.2 MyC ...

  6. PCIe to AXI Translation——PCIe 内存空间到AXI内存空间的转换

    PCIe to AXI Translation——PCIe 内存空间到AXI内存空间的转换 UltraScale系列芯片包含PCIe的Gen3 Integrated Block IP核在内的多种不同功 ...

  7. Java序列化与反序列化学习(三):序列化机制与原理

    Java序列化算法透析 Serialization(序列化)是一种将对象以一连串的字节描述的过程:反序列化deserialization是一种将这些字节重建成一个对象的 过程.Java序列化API提供 ...

  8. nyoj 975 Distinct Count

    Distinct Count 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 给一个长度为 n 的数列 {an} ,找出有多少个长度为 m 的区间,使区间中不含有重复的数 ...

  9. UVA Problem B: Fire!

    Problem B: Fire! Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and t ...

  10. nyoj 740 “炫舞家“ST

    “炫舞家“ST 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 ST是一个酷爱炫舞的玩家.TA很喜欢玩QQ炫舞,因此TA也爱屋及乌的喜欢玩跳舞机(Dance Dance ...