在Launcher3中,IconCache是用来缓存应用图标缓存的。IconCache不仅会保存图标,还会保存应用的title, 还有应用的描述,我们可以看到缓存都是保存在mCache的HashMap中,key是ComponentName和UserHandleCompat组成的对象, Value是一个对象CacheEntry, CacheEntry的三个成员是图标,标题和应用描述。
在Launcher启动的时候, 首先会在LauncherApplication中初始化LauncherAppState,而它会初始化IconCache对象, 刚开运行的时候IconCache肯定是空的, 只有在Launcher.java 这个Activity启动之后才会有缓存。在Launcher.onCreate()方法中,执行了IconCache的flushInvalidIcons, 会清空部分缓存,是