Android 界面体系:Activity、Window、View 与 ViewRootImpl

Android 界面体系:Activity、Window、View 与 ViewRootImpl

Android界面体系按组件职责分层实现:Activity负责页面逻辑和生命周期,通过Window抽象承载DecorView根节点;PhoneWindow作为实现类创建DecorView并管理窗口属性;DecorView通过内容容器(mContentParent)承载业务View树。ViewRootImpl协调View树测量布局绘制,驱动measure→layout→draw流程,并与系统WindowManagerService通过Binder通信完成窗口挂载。WindowManager通过WindowManagerGlobal管理各进程窗口,最终由WindowManagerService统一管理全屏幕窗口层级、布局和事件分发。核心调用链为:Activity.setContentView→PhoneWindow.setContentView→DecorView解析布局→ViewRootImpl驱动视图树及系统窗口连接。

Android 横竖屏切换为什么会重建 Activity?configChanges 到底该不该用?

在 Android 开发中,经常会遇到这样一个问题: 为什么横竖屏切换时 Activity 会重新走生命周期? 为什么设置了 android:configChanges="orientation" 之后,有时候还是会重建? 既然重建这么麻烦,Android 为什么不默认不重建呢? 这篇文章就围绕横竖

Android 横竖屏切换为什么会重建 Activity?configChanges 到底该不该用?
Fragment 怎么通信:不要互相强转 Activity

Fragment 怎么通信:不要互相强转 Activity

Fragment 通信 1. 不推荐直接互相调用 旧资料中常见写法: val activity = getActivity() as MainActivity activity.methodA() 或者: val fragmentA = activity.supportFragmentManage

Service 生命周期:比 Activity 简单但更容易漏

Service 生命周期 1. 生命周期路径 Service 的生命周期比 Activity 简单,但更容易出错,因为它可能在用户不可见时运行。 Service 主要有两条生命周期路径: Started Service:startService() -> onCreate() -> onStartC

Service 生命周期:比 Activity 简单但更容易漏
Activity 之间怎么通信:Intent、Bundle 与 Scheme

Activity 之间怎么通信:Intent、Bundle 与 Scheme

Activity 组件通信与 Scheme 跳转 1. Activity 与 Activity 通信 最常见方式是: Intent + Bundle 示例: Intent intent = new Intent(FirstActivity.this, SecondActivity.class);

Activity 任务栈怎么排:四种启动模式

Activity 任务栈与四种启动模式 1. 什么是任务栈? 任务栈是 Android 用来管理 Activity 返回关系的一种结构。 特点是: 后进先出 最后打开的 Activity 在栈顶 按返回键时,栈顶 Activity 出栈 例如: A → B → C 任务栈可以理解为:

Activity 任务栈怎么排:四种启动模式
Activity 横竖屏为什么会重建:configChanges

Activity 横竖屏为什么会重建:configChanges

Activity 横竖屏切换与 configChanges 1. 横竖屏切换为什么会影响生命周期? 横竖屏切换属于系统配置变化。 例如: 竖屏 → 横屏 横屏 → 竖屏 屏幕方向变化后,屏幕尺寸、布局资源、图片资源等都可能发生变化,所以 Android 默认可能会销毁并重建 Activity,以便

Activity 进程被杀时 onDestroy 靠得住吗:优先级与可靠性

Activity 进程优先级与 onDestroy 可靠性 1. Android 为什么要有进程优先级? Android 是多任务系统,后台可能有很多 App 进程。 当系统内存不足时,系统会根据进程的重要程度决定优先回收哪些进程。 可以简单理解为: 越靠近用户正在操作的进程,优先级越高; 越远离用

Activity 进程被杀时 onDestroy 靠得住吗:优先级与可靠性
Activity 异常销毁后怎么恢复:生命周期与状态

Activity 异常销毁后怎么恢复:生命周期与状态

Activity 异常生命周期与状态恢复 1. 什么是异常生命周期? 正常生命周期通常由用户操作触发: 打开页面 切换页面 按 Home 按返回键 异常生命周期通常由系统环境变化或资源回收触发: 横竖屏切换 语言切换 深色模式变化 屏幕尺寸变化 字体缩放变化 多窗口尺寸变化 内存不足导致进程被

Activity 是什么:生命周期基础

Activity 是什么,以及生命周期基础 1. Activity 是什么? Activity 是 Android 四大组件之一,通常用于承载一个用户界面,是用户和 App 交互的入口。 更准确地说: Activity 不是 Java 里的 interface。 Activity 是 Android

Activity 是什么:生命周期基础