Android Launcher应用的加载过程

开机第一次启动过程如下

一、首先创建数据库相关

1.创建数据库favorites表。

2.从default_workspace.xml加载桌面默认的配置信息,写入数据库。

二、加载LauncherApplication

1.启动Launcher重写过的Application子类LauncherApplication。

2.在Application的onCreate里创建LauncherModel(加载应用程序数据相关的类)和Cache(用于缓存Application的图标及应用title)。

3.register跟package change相关的广播及Oberser(因为Launcher要做相应的更新操作当某个应用安装或卸载)。

注:

1.LauncherModel及Cache都是Activity无关性的,它们的生命周期大于Activity,当Activity销毁的时候,能够保持LauncherModel以及Cache里面的数据依旧。

三、启动Launcher Activity

1.初始化UI相关。

2.调用LauncherModel的startLoader方法让LauncherModel加载桌面及menu相关的应用信息。

3.当LauncherModel加载完毕的时候,Launcher收到相关的回调,根据加载的数据信息,初始化UI。

注:

1.桌面的图标是可定制的,也就是这些图标是用户可配的,所以这些信息应该记录下来,也就相对应于数据库的favorites表。

2.menu(所有应用页面)的app是不可定制的,并且是所有具有Launcher属性的Activity,也就是说,这些数据无需特别存储,只要我们每次需要的时候去PackageManager取就可以。

简单协作图



加载应用程序数据绑定到桌面及menu的时序图


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值