A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lazyplayer 初级黑马   /  2015-6-21 12:46  /  2254 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

15黑马币
好多报错都从ActivityThread开始,这是什么线程啊?

最佳答案

查看完整内容

那个就是java的Main函数的入口。主线程。你的应用打开,系统就会开一个进程,在ActivityThread使用类加载器加载的Activity的。 1.打开应用,ActivityThrea main方法入口 performLaunchActivity //开始创建activity 1.classloader加载Activity 2.classloader加载Application//就是配置文件里那个Application,可以自己写的 回调Application.onCreate() 3.activity.attach//和窗口相关联 mWindow=P ...

5 个回复

倒序浏览
那个就是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发送消息
回复 使用道具 举报
请问能不能有具体的细节或者图片之类的介绍啊?能详细点吗
回复 使用道具 举报
    它管理应用进程的主线程的执行(相当于普通Java程序的main入口函数),并根据AMS的要求(通过IApplicationThread接口,AMS为Client、ActivityThread.ApplicationThread为Server)负责调度和执行activities、broadcasts和其它操作。

回复 使用道具 举报
没人回答。。。
回复 使用道具 举报
342508558 发表于 2015-6-21 12:46
那个就是java的Main函数的入口。主线程。你的应用打开,系统就会开一个进程,在ActivityThread使用类加载器 ...

没人回答,算了。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马