黑马程序员技术交流社区
标题:
好多报错都从ActivityThread开始?
[打印本页]
作者:
lazyplayer
时间:
2015-6-21 12:46
标题:
好多报错都从ActivityThread开始?
好多报错都从ActivityThread开始,这是什么线程啊?
作者:
342508558
时间:
2015-6-21 12:46
那个就是java的Main函数的入口。主线程。你的应用打开,系统就会开一个进程,在ActivityThread使用类加载器加载的Activity的。
1.打开应用,ActivityThrea main方法入口
performLaunchActivity //开始创建activity
1.classloader加载Activity
2.classloader加载Application//就是配置文件里那个Application,可以自己写的
回调Application.onCreate()
3.activity.attach//和窗口相关联
mWindow=PolicyManager.makeNewWindow(this)//用于创建最顶层布局
mWindow.setWindowManager()
4.回调Activity.onCreate()
然后这里的Activity就是你要打开的那个Activity,然后调用你自己写的onCreate
Activity
1.setContentView(View)
1.getWindow().sentContentView()//获得window对象//手机上为PhoneWindow
1.installDecor()//创建根View
2.decor.addView(View)//
创建完成
Instrumentation.handleResumeActivity()
1.performResumeActivity()//ActivityThread()
最后调用到activity.onResume()
2.获得 Decor、WindowManager //准备创建视图,
// WindowManager implements ViewManager(addview,updateview,reomvevview)
3.创建 ViewRoorImp
w 实现和WindowManager通信 //每个view都有一个ViewRootImp即ViewParent对象
'关于View 重绘时调用到ViewRootImp.invalidateChildInParent(),该方法中检查是否ui线程'
4.设置view可见状态,并向WindowManager发送消息
作者:
纪青超
时间:
2015-6-21 15:21
请问能不能有具体的细节或者图片之类的介绍啊?能详细点吗
作者:
wdd
时间:
2015-6-21 15:56
它管理应用进程的主线程的执行(相当于普通Java程序的main入口函数),并根据AMS的要求(通过IApplicationThread接口,AMS为Client、ActivityThread.ApplicationThread为Server)负责调度和执行activities、broadcasts和其它操作。
作者:
lazyplayer
时间:
2015-6-22 11:04
没人回答。。。
作者:
lazyplayer
时间:
2015-6-22 11:05
342508558 发表于 2015-6-21 12:46
那个就是java的Main函数的入口。主线程。你的应用打开,系统就会开一个进程,在ActivityThread使用类加载器 ...
没人回答,算了。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2