出于好奇,我想知道应用程序图标存储在Android设备的文件系统上的哪个位置。

就像我在设备主屏幕上可以找到各种应用程序的快捷方式一样,这些图标文件(或图像)存储在其中。是仅在应用程序包(.apk)内还是Android将其存储在其他位置?

如果仅在应用程序包中,Android是否会从每个apk加载所有图像并在首次启动时加载它?

最佳答案

安装应用程序文件时,启动器将分析.apk文件并提取各种信息。 (此过程不涉及加载和运行应用程序本身。)其中包括应用程序图标,启动程序通常将其缓存在其自己的私有(private)区域中。确切的执行方式取决于您设备上当前激活的启动器。您也许可以浏览启动器的源代码,以找到有关它如何缓存从应用程序.apk文件提取的这些项目的更多详细信息,但是我不确定该练习有什么实际用途。

启动器使用其自己的缓存可以大大加快启动速度,因为否则每次启动时都必须扫描每个已安装的应用程序,以提取启动器显示自身所需的信息。但是,缓存是偶尔出现问题的根源,例如,在安装更新的应用程序(带有新图标和可能的新应用程序名称)时,图标不会立即更新。 (例如,参见this threadthis one。)

10-07 19:21
查看更多