Launcher8.0启动流程的第三步,统一创建对象。创建这些对象主要为后面定义UI各个模块,读取绑定图标操作,以及操作事件和后台运行等做准备。
之前创建LauncherAppState的时候,为了很好的得到参数,已经创建了很多对象,其中有很多对象是非常重要的,不仅在LauncherAppState中使用,也在Launcher中使用,所以,需要将之前创建过的类获取到Launcher中,除此之外,还有一些和显示,操作,后台相关的类也需要创建出对象。
在Launcher8.0中,第三步创建对象的源码如下:
mSharedPrefs = Utilities.getPrefs(this);
mModel = app.setLauncher(this);
mIconCache = app.getIconCache();
mDragController = new DragController(this);
mAllAppsController = new AllAppsTransitionController(this);
mStateTransitionAnimation = new LauncherStateTransitionAnimation(this, mAllAppsController);
mAppWidgetManager = AppWidgetManagerCompat.getInstance(this);
mAppWidgetHost = new LauncherAppWidgetHost(this, APPWIDGET_HOST_ID);
mAppWidgetHost.startListening();
mPaused = false;
mLauncherView = getLayoutInflater().inflate(R.layout.launcher, null);
这一步一共有11行代码,一共创建了8个对象和进行了3个操作。
第一个对象是创建SharedPreferences,在Launcher中database储存桌面布局此行为在LauncherProvider完成而SharedPreferences用于