在Launcher3定制化开发中,对桌面布局进行调整修改也是常有的工作量,那么就首先要熟悉WorkSpace加载流程
下面就来分析下Launcher3加载默认布局的
本文主要分析Launcher3 如何加载默认的app icon,hotseat,folder文件夹等等
1、 launcher首先会初始化设备配置属性,比如加载哪些图标,hotseat, folder文件夹,图标布局n * n等等,这些配置定义在device_profiles.xml 中,device_profiles.xml 会关联到default_workspace_n*n.xml,
2、 在LoaderTask.java 的loadworkspace函数中会去load默认的布局,其实就是去加载xml中初始化后的配置
第一部分:InvariantDeviceProfile初始化
Launcher在oncreate的时候会通过单例初始化LauncherAppState类
LauncherAppState app = LauncherAppState.getInstance(this);
在LauncherAppState的构造中会初始化InvariantDeviceProfile,先看一下InvariantDeviceProfile构造函数,