一、Launcher的启动
首先启动LauncherApplication,这里面只有两行代码,初始化了LauncherAppState,LauncherAppState主要是初始化一些对象,注册广播和内容观察者等.比如你安装程序和卸载程序,里面都会监听这个广播.
之后启动Launcher这个Activity,看它的oncreate方法.
@Override
protected void onCreate(Bundle savedInstanceState) {
if (DEBUG_STRICT_MODE) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork() // or
.penaltyLog().build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build());
}
super.onCreate(savedInstanceState);
// 初始化Context,获取LauncherAppState实例
LauncherAppState.setApplicationContext(getApplicationContext());
LauncherAppState app = LauncherAppState.getInstance();
// 确定grid属性
Point smallestS