Android 窗口相关
文章平均质量分 86
yi诺千金
写过的文章也会不定时更新,一个人看源码没人讨论比较耗时,更新较慢。乐于互相交流,请多私信留言,大家共同进步。
掘金:https://juejin.cn/user/4464480371870584
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android U 自由窗口(浮窗)——启动流程
原生机在多任务中原本点击应用图标不会出现【自由窗口】的选项,通过命令开启后会显示出来。运行adb命令开启浮窗选项。原创 2025-09-16 10:41:16 · 901 阅读 · 0 评论 -
Android Framework中的addView和addWindow
addView方法是用于将视图添加到布局中的方法,通常用于在应用程序级别的布局中动态添加视图。addWindow方法是用于将窗口添加到窗口管理器中的方法,通常用于创建系统级别的窗口,例如:悬浮窗、对话框、Toast提示等。原创 2023-11-15 17:59:14 · 1899 阅读 · 0 评论 -
Android T 窗口层级其三 —— 层级结构树添加窗口
DisplayArea层级结构中的每一个DisplayArea,都包含着一个层级值范围,这个层级值范围表明了这个DisplayArea可以容纳哪些类型的窗口。每种窗口类型,都可以通过WindowManagerPolicy.getWindowLayerFromTypeLw方法,返回一个相应的层级值。尚未添加窗口的层级结构树,如图。这里我们根据上面的代码,以及。的信息简单画出如下树形图。原创 2023-09-06 20:47:49 · 3287 阅读 · 2 评论 -
Android T 窗口层级其二 —— 层级结构树的构建
如何通过dump中的内容找到对应的代码?我们dump窗口层级发现会有很多信息,这里我们以其中的DefaultTaskDisplayArea为例在源码的framework目录下查找该字符串,找到对应的代码就可以通过打印堆栈或者搜索代码跟踪的方式找到其调用逻辑也就是这一句当然我们上篇文章也讲到了DisplayContent代表的屏幕的DisplayArea层级结构的根节点,我们可以直接从DisplayContent.java的构造方法出发,追踪其流程。原创 2023-08-10 20:25:03 · 3499 阅读 · 6 评论 -
Android T 窗口层级其一 —— 容器类
窗口在App端是以PhoneWindow的形式存在,承载了一个Activity的View层级结构。这里我们探讨一下WMS端窗口的形式。原创 2023-08-08 21:39:32 · 3601 阅读 · 0 评论 -
android 窗口焦点介绍
我们经常会遇到一种的ANR异常,这种异常一般是没有焦点窗口FocusedWindow导致,且这类异常只会发生在,因为是需要找到一个然后再派发,而只需要找到即可。原创 2023-05-18 17:27:06 · 10583 阅读 · 11 评论 -
Android T 窗口点击过滤功能实现
有些应用可能会存在透明窗口,或者界面异常导致当前页面无法触发点击事件,如果要从input侧解决该问题,如何处理?原创 2023-05-05 14:17:01 · 890 阅读 · 0 评论 -
Android 窗口常见参数汇总
Window类中有一个WindowManager.LayoutParams类型的属性mWindowAttributes记录了当前窗口的相关参数原创 2023-04-29 18:42:32 · 4997 阅读 · 0 评论 -
Android T 远程动画显示流程其三——桌面侧动画启动到系统侧结束流程
接着前文分析我们通过IRemoteAnimationRunner跨进程通信从系统进程来到了桌面进程,这里是真正动画播放的逻辑。之后又通过IRemoteAnimationFinishedCallback跨进程通信回到系统进程,处理动画结束时的逻辑。原创 2024-02-27 15:21:08 · 3770 阅读 · 0 评论 -
Android T 远程动画显示流程其二——系统侧动画启动流程
我们以从桌面点击一个应用启动的场景来分析远程动画的系统启动流程原创 2024-02-21 14:30:48 · 3932 阅读 · 11 评论 -
Android T 远程动画显示流程其一——整体流程以及堆栈介绍
序本地动画和远程动画区别是什么?本地动画:自给自足。对自身SurfaceControl矢量动画进行控制。远程动画:拿来吧你!一个app A对另一个app B通过binder跨进程通信,控制app B的SurfaceControl矢量动画。无论是本地动画还是远程动画,都仅仅只是对SurfaceControl动画图层控制,而无法控制应用内部的View。注:矢量动画包含位移、放大、缩小、透明度、圆角等。常见的远程动画,就是我们从桌面点击一个应用启动这个应用,这个过程中会产生的动画就是远程动画。我们从原创 2024-01-29 18:52:34 · 4698 阅读 · 0 评论 -
Android T 窗口动画(本地动画)显示流程
如何创建一个窗口动画?我们通过先从APP创建一个窗口,以这个窗口的创建过程的窗口动画为例这个demo就是点击BUTTON显示窗口,点击CLOSE WINDOW关闭窗口原创 2023-11-08 15:43:17 · 5901 阅读 · 3 评论 -
Android T WMS窗口相关流程
什么是窗口窗口即是屏幕上的一块用于绘制各种UI元素并可以响应用户输入的一个矩形区域。从原理上讲,窗口的概念是独自占有一个Surface实例的显示区域(我们在屏幕上看到的图形都需要绘制在Surface上)。Window是个抽象类其实现类为PhoneWindow。原创 2023-04-24 23:44:34 · 11338 阅读 · 30 评论 -
Android T 禁止应用添加窗口的操作
什么情况下会出现我们需要禁止应用添加窗口的情况呢?假如有一个应用的窗口,我们点开后是透明的或者会影响到系统的使用,那么我们就有必要对这个窗口操作一下回顾我们在中所讲的内容禁止应用添加窗口的操作有两种1.直接在客户端对应用禁止添加窗口2.在服务端禁止应用添加窗口。原创 2023-09-21 16:20:22 · 1101 阅读 · 0 评论
分享