Launcher3分析篇:(一、前导篇)

      Launcher作为Android手机启动后给用户展示的第一个应用,我想一步一步对Launcher3的源码进行分析并记录,也是为了让自己遗忘的时候可以看看。


下面正式开始Launcher3的分析,首先介绍一下主要的几个类:

  • Launcer 是显示Launcher的主Activity。我们看到的桌面就是它,是最核心且唯一的Activity。
  • LauncherAppState:单例对象,构造方法中初始化对象、注册应用安装、卸载、更新,配置变化等广播。这些广播用来实时更新桌面图标等,其receiver的实现在LauncherModel类中,LauncherModel也在这里初始化。
  • LauncherModel:数据处理类,保存桌面状态,提供读写数据库的API,内部类LoaderTask用来初始化桌面。
  • InvariantDeviceProfile:一些不变的设备相关参数管理类,其内部包涵了横竖屏模式的DeviceProfile。
  • IconCache:图标缓存类,应用程序icon和title的缓存,内部类创建了数据库app_icons.db。
  • LauncherProvider:核心数据库类,负责launcher.db的创建与维护。
  • DragLayer:一个用来负责分发事件的ViewGroup。
  • DragController:DragLayer只是一个ViewGroup,具体的拖拽的处理都放到了DragController中。
  • BubblTextView:图标都基于他,继承自TextView。
  • Folder:打开文件夹展示的View。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值