2012-04-26 64 views
3

我只需要我的项目中的一点帮助。任何人都可以告诉Android如何在启动时加载设备上的所有应用程序。它在哪里读取apk的检索关于应用程序的信息,如图标,名称,并最终显示在设备上。android内部结构

我经历了packagemanager-> applicationpackagemanager-> Ipackagemanager.aidl-> packagemanagerservice-> settings.java,但我无法弄清楚android如何从apk中获取信息,以及它如何在启动时加载。

如果有人能帮上忙,那真是太好了。

回答

3

不知道那里恰好发生,但据我所知:

在引导过程中:安卓经过/data/apps/*.apk,提取/读取AndroidManifest.xml并保存一些信息(如/data/system/packages.listpackages.xml

包(.apk)解析应可以通过PackageParser.java

当您打开应用程序抽屉并在内存中缓存时,应用程序列表可能是从其中一个列表中读取的。图标按需提取并缓存。您在启动器中看到的图标/应用程序将存储在其他位置。