您的位置:首页 > 教育 > 培训 > 设计网站behance怎么翻_时尚网站设计教程_真人seo点击平台_seo课程总结怎么写

设计网站behance怎么翻_时尚网站设计教程_真人seo点击平台_seo课程总结怎么写

2025/8/17 23:13:22 来源:https://blog.csdn.net/qq_34688283/article/details/148123731  浏览:    关键词:设计网站behance怎么翻_时尚网站设计教程_真人seo点击平台_seo课程总结怎么写
设计网站behance怎么翻_时尚网站设计教程_真人seo点击平台_seo课程总结怎么写

在这里插入图片描述
我们知道 Android 系统启动后已经启动了 Zygote,ServiceManager,SystemServer 等系统进程;ServiceManager 进程中完成了 Binder 初始化;SystemServer 进程中 ActivityManagerService,WindowManagerService,PackageManagerService 等系统服务在 ServiceManager 中已经注册;最后启动了 Launcher 桌面应用。

onCreate

这一步主要涉及WindowManagerService

Activity在oncreate的时候会新建一个PhoneWindow 对象。在 Android 中,Window 是个抽象的概念, Android 中 Window 的具体实现类是 PhoneWindow,Activity 和 Dialog 中的 Window 对象都是 PhoneWindow。

同时得到一个 WindowManager 对象,WindowManager 是一个抽象类,这个 WindowManager 的具体实现是在 WindowManagerImpl 中,对比 Context 和 ContextImpl。

每个 Activity 会有一个 WindowManager 对象,这个 mWindowManager 就是和 WindowManagerService 进行通信,也是 WindowManagerService 识别 View 具体属于哪个 Activity 的关键,创建时传入 IBinder 类型的 mToken。

mWindow.setWindowManager(..., mToken, ..., ...)

这个 mToken 是一个 IBinder,WindowManagerService 就是通过这个 IBinder 来管理 Activity 里的 View。

回调 Activity.onCreate() 后,会执行 setContentView() 方法将我们写的 Layout 布局页面设置给 Activity。

onResume

简单来说,onResume的过程就是先获取之前oncreate的时候,设置在activity中的phoneWindow,然后拿到这个window中的decorView(就是setContentView设置进去的东西?)。将decorView通过windowManager的addView方法将这个decorView添加进去。

windowManager的实现是windowManagerImpl,而windowManagerImpl又会调用windowManagerGlobal的addView函数。

最终的最终,windowManagerGlobal使用IWindowSession这个对象通过binder与system_server通信,完成view的add

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com