1.allowBackup是否允许备份应用的数据,默认是true,当备份数据的时候,它的数据会被备份下来。如果设为false,那么绝对不会备份应用的数据,即使是备份整个系统。为了安全起见,开发者务必将allowBackup标志值设置为false来关闭应用程序的备份和恢复功能,以免造成信息泄露和财产损失。
2) allowBackup风险原理:
当allowBackup标志值为true时,即可通过adb backup和adb restore来备份和恢复应用程序数据;
2. android:anyDensity="true",系统会依据屏幕密度,自动去找对应的文件夹。
3.android:debuggable
这是一个布尔型标志,它的取值是true或false,这个标志指示应用程序在用户模式的设备上是否可以调试。如果为true,则表示应用程序可以被调试;如果为false,则表示应用程序不可以被调试。它的默认值是false。使用这个标志唯一需要注意的是,它只在用户模式的机器上生效,用户模式既是买着用的android手机,而虚拟机一般都是工程模式。
4.android:enabled
默认情况下,Android系统会自行实例化每一个应用程序的组件,包括Android四大组件,但如果我们需要自己完成这些事情的话,就需要使用android:enabled属性来限制Android系统的行为。这个属性表明Android系统是否可以被实例化应用程序组件,如果其值为true,则说明应用程序组件可以被Android系统自动实例化;如果为false,则说明实例化组件的工作需要手工完成。该属性的默认值为true。每一个组件都可以单独定义自己的enabled属性。如果这个属性定义在<application>节点中,那么它会默认将每个组件的enabled属性设置为相同的值。如果每一个组件单独定义了这个属性,那么<application>节点上定义的属性对此组件不再生效,就由自己的enabled属性决定。
5.android:label / android:icon
android:label和android:icon这两个属性分别是有关标签和图标的。先来看看android:label,它是Android标签属性,是应用程序全局的一个用户可读的标签,也是该应用程序所有组件的默认标签。在项目生成的时候,就已经定义了该属性,它可以是一个字符串资源的引用,也可以是一个字符串。能这么做的原因是该标签是这样定义的:
<attr name="label" format="reference|string">
6.android:logo
android:logo属性用于配置应用程序的商标。自Android3.0以后,应用程序窗口多了一个标题栏,而应用程序的logo将会出现在那里。对于Android框架而言,它是这样定义这个属性的:
<attr name="logo" format="reference">
这说明它能接受的只是一个图片资源的引用。配置这个属性后运行程序,会发现在启动的每一个界面上都会看到这个图标,如果同时设置了logo,icon,logo会覆盖掉icon的图标。
7.android:manageSpaceActivity
该属性是一个Activity子类的全名,用户使用它可以管理设备上该应用程序占有的内存。Activity也应该用<activity>元素声明。
8.android:permission
该属性是客户端与应用程序交互所必须拥有的许可名,它是给应用程序的所有组件设置许可的便捷方式,可以被组件各自的许可属性值所覆盖。
9.android:persistent
该属性用来表明应用程序是否应该在任何时候都保持运行状态,若为true,则表示应该,false则表示不应该,其默认值为false。通常,应用程序不应该设置本属性,而持续模式仅仅对于某些系统应用程序才有意义。
10.android:process
该属性是应用程序所有组件运行的进程名。每个组件都能够设置自己的进程属性,以此来覆盖原来的默认值。
11.android:taskAffinity
它是应用程序所有Activity都适用的任务亲和力,除了那些将不同任务亲和力设置在自身taskAffinity属性里的Activity。我们可以这样理解这个属性:该Activity更喜欢待在哪个任务中。
对于不同版本的Android SDK来说,框架对该属性的处理是不一样的。下面的代码说明了还同处理中出现的一些问题:
12.android:theme
android:theme属性为应用程序定义了一个整体风格。android:theme属性是一个可以覆盖的属性。当我们需要对某个界面做一些特殊的处理时,只需要在对应的节点配置此属性,就可以覆盖掉应用程序配置的整体风格了。
13.android:vmSafeMode
此属性用于指示虚拟机是否在安全模式下运行,它是一个布尔值,当没有配置它的时候,其默认值为false。示例代码如下:
14.android:largeHeap
此属性指示应用程序是否使用一个比较大的堆创建,它是一个布尔值,在没有配置的情况下,它的默认值是false,