【源码剖析】Launcher 8.0 源码 (7) --- Launcher 启动流程 第三步之统一创建对象

本文详细解析了Android Launcher8.0启动流程的第三步,即统一创建对象的过程。主要内容包括SharedPreferences的使用,LauncherModel的初始化,IconCache对象的创建,DragController与AllAppsController的作用,以及AppWidgetManagerCompat和AppWidgetHost的管理功能。这些对象的创建为后续的UI构建、图标缓存、拖拽操作、应用切换动画、Widget管理和状态监听等核心功能奠定了基础。
摘要由CSDN通过智能技术生成

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用于

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值