当前位置:   article > 正文

android 启动器开发,Android启动器(Launcher)开发详解

启动器开发

目录

[隐藏]

1 1.Launcher桌面数据和主菜单数据加载流程

1.1 1.1 加载主菜单数据

1.1.1 1.加载调用流程

1.2 1.2 加载桌面数据

1.3 1.3 插入SIM卡时候的数据加载的问题

1.4 1.4 经典Bug

1.4.1 166085

[编辑]1.Launcher桌面数据和主菜单数据加载流程

[编辑]1.1 加载主菜单数据

PackageManager中加载应用程序数据结构,AppwidgetsManager中加载小部件数据结构,从Favorites数据库中加载桌面数据结构

0818b9ca8b590ca3270a3433284dd417.png

[编辑]1.加载调用流程

LoaderTask一个任务是加载桌面,一个任务是加载抽屉,同步(一个接一个)进行。LauncherModel:waitForIdle()方法用于等待桌面加载完成再加载抽屉。

等待从favorite表中loadAndBindWorkspace的完成,即完成 桌面的数据 从数据库到内存对象的加载,并且已经显示到了桌面Workspace,

然后开始loadAndBindAllApps加载主菜单的数据(PackageManager) ,在launcher-loader 子线程获取数据后通过mHandler.postIdle() mHandler.post()将任务post到主线程任务队列DefferedHandler:mQueue中更新UI。

/** Runs the specified runnable

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/917323
推荐阅读
相关标签
  

闽ICP备14008679号