首页 > 代码库 > Launcher3无图标问题
Launcher3无图标问题
MTK8382/8121平台。
机器(8寸,默认竖屏)第一次烧录完成后,以横放姿势启动,发现Launcher没有图标,而竖屏启动是没有这个问题的。在测试过程中发现,在设置中clear data后也会有这样的问题。因此可以初步判断是database初始化的问题,因为database存储着favorite icon和workspace的数据。
对比database,发现workspaces字段没有写入。查看输出的log,发现最大的不同在于,在step1的初始化过程中,出现了
setApplicationContext called twice!old=com.android.launcher3.LauncherApplication@41c76888 new=com.android.launcher3.LauncherApplication@41c76888
的warning。查找warning输出的位置,发现在onCreate中。也就是说在初始化过程中,Launcher3 onCreate了两次。
我们知道,为了重新布局,Launcher每次转屏都会重新onCreate的。而以横屏摆放启动,会导致在默认竖屏的状态下,很短时间内又进行了一次转屏。
看了一下AndroidManifest.xml,发现android:screenOrientation属性是nosensor,所以每次启动都是默认(竖屏)。改为sensor后,第一次初始化方向和实际方向一致,则不会出现执行两次onCreate()的情况。
在LauncherModel.java中,搜索“step 1”,可以找到初始化workspace的过程。而恰恰这个workspace初始化没有被synchronized保护起来。
Launcher3无图标问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。