又议android中的manifest清单文件
来源:互联网 发布:c语言进程的创建 编辑:程序博客网 时间:2024/05/01 11:30
写过java程序的人,都知道了配置文件时java实现各种各样的框架的一大利器,manifest清单文件对android的作用自然不言而喻,然而他里面究竟定义了些什么,并且他是如何加载到程序中的。
他里面定义了什么了,定义的无非是一些android程序配置的节点信息。我们打开他的开发文档,能够精确的看到清单文件的定义。
android中manifest文件的定义为。
<?xmlversion="1.0"encoding="utf-8"?>
<manifest>
<application>
<activity>
<intent-filter>
<action/>
<category/>
</intent-filter>
</activity>
<activity-alias>
<intent-filter></intent-filter>
<meta-data/>
</activity-alias>
<service>
<intent-filter></intent-filter>
<meta-data/>
</service>
<receiver>
<intent-filter></intent-filter>
<meta-data/>
</receiver>
<provider>
<grant-uri-permission/>
<meta-data/>
</provider>
<uses-library/>
</application>
<uses-permission/>
<permission/>
<permission-tree/>
<permission-group/>
<instrumentation/>
<uses-sdk/>
<uses-configuration/>
<uses-feature/>
<supports-screens/>
</manifest>
通过上面组织结构,我们能够清晰看到<application>是程序的第一层,他意味着所有的子节点由他包裹。他是程序的根节点。
而android的四大对象,activity,service,receiver,provider并列组成了相应的第二级,他们才能使android程序由冰冷冷的源代码变的栩栩如生。
此外他还定义了一些android程序支持的附加属性,如对用户权限限制的<uses-permission/>,对用户屏幕尺寸及分辨率限制的 <supports-screens/>。这样就是较为完整的manifest的清单文件的构件。对于他的结构,我不想做过多赘述,因为这百度一下,遍地都是。
我们来通过源代码的分析,看他是如何加载到程序中,如何运行的了。
他主要是通过packagemanager这个包加载器来对程序进行加载。他大概源代码预览是这样的:
packagemanager的源代码很多,我们这里这里只看他的一两个方法
public abstract XmlResourceParser getXml(String packageName, int resid,
ApplicationInfo appInfo);
这是一个抽象方法,他定义了从xml文件中,来加载相应的包的信息,和application的相关的信息了,那这个文件是什么,那就是manifest文件了。怎么解析xml,不想多说了。
那他碰到这节点,是怎么进行实例化的。采取按需实例化的原则了,怎么符合嵌入式软件设计的原则了,能够节省内存开销,提高执行效率。
这就是我对manifest清单文件的一点了解,恳请大家指教。
<script type="text/javascript"><!--google_ad_client = "ca-pub-1944176156128447";/* cnblogs 首页横幅 */google_ad_slot = "5419468456";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 又议android中的manifest清单文件
- 【Android】The Manifest File清单文件
- Android基础知识点-Manifest清单文件
- 关于清单文件Manifest
- 5分钟看完Android Manifest 清单文件 详细解析
- Android清单文件详解(一) ---- 一切从<manifest>开始
- Android配置清单文件Manifest.xml的常用设置
- Android清单文件详解(一) ---- 一切从<manifest>开始
- Android manifest(清单文件)标签详细介绍
- android中的manifest文件中的res获取
- android的manifest文件中的theme
- Android manifest文件中的标签详细介绍
- Android manifest文件中的标签介绍
- Android manifest文件中的标签详细介绍
- Android manifest文件中的标签详细介绍
- Android manifest文件中的标签详细介绍
- AndroidManifest.xml清单文件详解--manifest节点
- Manifest清单
- hrust OJ 1316 移动II
- 黑马程序员----【javaSE基础】IO--字节流
- hdu 4619(sap解二分匹配)
- hdu4300
- C#操作Informix数据库
- 又议android中的manifest清单文件
- 黑马程序员----【javaSE基础】IO--字符流
- UVA 350 Pseudo-Random Numbers
- C++虚函数与虚函数表(编译器查看)
- 黑马程序员—SQL系列 (一)
- 如何添加账户到sudoers
- STL中的set容器的一点总结
- UVA 10392 Factoring Large Numbers
- 开源软件正在逐步改变全球软件开发的格局