出于好奇,我想知道应用程序图标存储在Android设备的文件系统中的哪个位置.
就像我在我的设备的主屏幕上有各种应用程序的快捷方式,这些图标文件(或图像)存储在那里.是仅在应用程序包(.apk)内部还是Android将其存储在其他地方?
如果它在应用程序包中,Android只加载来自每个apk的所有图像并在第一次启动时加载它吗?
解决方法:
安装应用程序文件时,将分析.apk文件,并由启动程序提取各种信息项. (此过程不涉及加载和运行应用程序本身.)这些项目中的应用程序图标,启动程序通常在其自己的私有区域中缓存.具体如何完成取决于您设备上当前活动的启动器.您可以浏览启动器的源代码,以了解有关如何缓存从app .apk文件中提取的这些项目的更多详细信息,但我不确定该练习的实际用途.
启动器使用自己的缓存大大加快了启动速度,否则每次重启时都必须扫描每个已安装的应用程序,以便为启动器提取必要的信息以显示自己.但是,缓存是偶然问题的根源,例如当安装了更新的应用程序(带有新图标和可能的新应用程序名称)时,图标不会立即更新. (参见,例如,this thread和this one.)