ActivityThread分析

ActivityThread分析

App进程创建好之后,执行ActivityThread的main方法。

main方法执行如下几项重要工作:

1.主线程的Looper循环初始化,looper对象在对象创建的时候已经创建好了,这里执行Looper.prepareMainLooper();

2.初始化ActivityThread对象,并执行ActivityThread的attach方法。

attach方法:

1.非system进程,需要调用AMS的attachApplication方法将当前进程的ApplicationThread对象传递给AMS,AMS在执行完attachApplication后,会通过ApplicationThread对象执行它的bindApplication方法,然后执行ActivityThread的handleBindApplication方法。

handleBindApplication方法里面会执行data.info = getPackageInfoNoCheck(data.appInfo, data.compatInfo);,执行到getPackageInfo方法,初始化ApkLoader

同时执行下列代码final ContextImpl appContext = ContextImpl.createAppContext(this, data.info);

初始化Application的Context。

 

你可能感兴趣的:(frameworks)