
Android显示系统
薛文旺
Android图形与显示--路漫漫其修远兮,吾将上下而求索
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android dumpsys SufaceFlinger
Android dumpsys SufaceFlinger原创 2025-03-12 19:58:52 · 1112 阅读 · 0 评论 -
Android WindowContainer窗口结构
窗口是根据显示屏幕来管理,每个显示屏幕的窗口层级分为37层,0-36层。每层可以放置多个窗口,上层窗口覆盖下面的。要理解窗口的结构,需要学习下WindowContainer、RootWindowContainer、DisplayContent、TaskDisplayArea、Task、ActivityRecord、WindowToken、WindowStateWindowContainer等类。原创 2025-02-14 19:45:03 · 1187 阅读 · 0 评论 -
Android Toast 系统切换多语言显示
在你的代码中,通过资源 ID 来获取字符串资源,这样在不同的语言环境中显示对应语言的消息。因此,你不需要针对语言切换编写特定的代码,Android 会根据系统的语言环境自动选择合适的字符串资源文件。这样,通过在资源文件中定义不同语言的字符串资源,Android 会自动根据当前系统语言来选择正确的资源,确保你的 toast 消息能够适应系统语言的变化。安卓系统会自动切换你的资源文件来适配当前的系统语言设置,你只需确保你的资源文件被正确配置。Toast 消息显示为当前系统语言对应的字符串资源。原创 2025-01-24 16:35:57 · 873 阅读 · 0 评论 -
Android Toast在指定的Display里面显示
Android Toast在指定的Display里面显示。原创 2025-01-24 16:21:33 · 781 阅读 · 0 评论 -
Android MediaProjection录屏权限处理
Android MediaProjection录屏权限处理原创 2024-09-10 12:48:40 · 2104 阅读 · 0 评论 -
Android修改鼠标显示Viewport
【代码】Android修改鼠标显示Viewport。原创 2024-08-15 18:50:44 · 187 阅读 · 0 评论 -
Android移动鼠标的流程
【代码】Android移动鼠标的流程。原创 2024-08-15 18:46:56 · 543 阅读 · 0 评论 -
Android鼠标修改显示屏的接口
Android鼠标修改显示屏的接口。原创 2024-08-14 20:38:39 · 335 阅读 · 0 评论 -
Android移动鼠标更新位置流程
Android移动鼠标更新位置流程。原创 2024-08-14 20:37:23 · 718 阅读 · 0 评论 -
Android设置鼠标显示的屏幕
【代码】Android设置鼠标显示的屏幕。原创 2024-08-12 12:27:23 · 515 阅读 · 0 评论 -
Android设置DisplayViewport
【代码】Android设置DisplayViewport。原创 2024-08-12 12:25:41 · 488 阅读 · 0 评论 -
Android Toast居中显示方法二
【代码】Android Toast居中显示方法二。原创 2024-08-09 09:26:54 · 1273 阅读 · 0 评论 -
Android在frameworks中获取systemUiContext流程
Android在frameworks中获取systemUiContext流程。原创 2024-08-03 09:43:18 · 189 阅读 · 0 评论 -
Android TextToast显示流程
【代码】Android TextToast显示流程。原创 2024-08-03 09:40:01 · 342 阅读 · 0 评论 -
Android Toast设置居中显示方法一
【代码】Android Toast设置居中显示方法一。原创 2024-08-02 17:56:15 · 605 阅读 · 0 评论 -
Android Toast显示流程
【代码】Android Toast显示流程。原创 2024-08-02 09:16:31 · 482 阅读 · 0 评论 -
Android Toast时序管理
上面我们就从源码的角度分析了一个Toast的显示和隐藏,我们不妨再来捋一下思路,函数来实现定时调用,而这个。对象的实现类,是一个叫做。而这个方法就是用于管理。函数经过搜索后,将调用。原创 2024-08-01 11:39:09 · 316 阅读 · 0 评论 -
Android Toast显示详解
而这个窗口对象,被记录在了我们的 WindowManagerService(后面简称 WMS) 核心服务中。系统服务所生成,由于系统服务具有高权限,当然不会有权限问题。“如果是系统窗口,那么,普通的应用进程为什么会有权限去生成这么一个窗口呢?所在的窗口之上显示,并可以在其他的应用上层显示。而这个时序的控制,自然而然也是落在我们的。进程需要构建一个窗口的时候,必须指定这个窗口的类型。而这个显示窗口的方法非常简单,就是将所传递过来的窗口。类型的对象,而这个对象实际上就是我们刚才所说的。不仅有窗口,也有时序。原创 2024-08-01 11:35:24 · 1089 阅读 · 0 评论 -
创建activity中的context
performLaunchActivity的时候获取final int displayId = ActivityClient.getInstance().getDisplayId(r.token),调用createDisplayContext创建context。原创 2024-06-18 14:45:39 · 452 阅读 · 0 评论 -
Activity中Context
Activity中Context在activity.attach()设置,原创 2024-06-18 14:27:30 · 294 阅读 · 0 评论 -
Android Display管理服务DMS
Android Display管理服务DMS原创 2024-06-13 14:31:25 · 652 阅读 · 1 评论 -
VirtualDisplay图像数据流trace分析
APP的图像通过Gpu合成到VirtualDisplay的SurfaceView中,然后通过这个SurfaceView向业务层队列。1. 计算器App更新图像帧(QueuedBuffer - ViewRootImpl[Calculator]#0BLAST#0),调用。调用后读取SurfaceView中的SurfaceTexture进行处理并上屏。向surfaceflinger提交图像buffer。获取buffer,进行一些状态的处理。原创 2024-05-29 17:16:35 · 431 阅读 · 0 评论 -
SurfaceTexture使用流程
【代码】SurfaceTexture使用流程。原创 2024-05-07 19:21:25 · 686 阅读 · 0 评论 -
图形渲染 OpenGL ES 之 着色器
一、序言1.着色器是用来实现图形渲染的、代替固定渲染管线的可编程程序,着色器替代了传统的固定渲染管线,可以实现2D、3D图形学计算中的相关计算,由于其可编程性,可以实现各种各样的图像效果。2.着色器语言专门用来为着色器编程的编程语言,着色器语言有HLSL、GLSL等等语言,HLSL是高阶着色器语言(HighLevelShaderLanguage)的简称,HLSL独立的工作在Windows平台上,只能供微软的Direct3D使用;GLSL是OpenGL着色语言(OpenG...原创 2021-06-22 02:33:30 · 574 阅读 · 0 评论 -
OpenGL ES 之 EGL 详解
//frameworks/native/opengl/include/EGL/#include <EGL/egl.h>#include <stdio.h>EGLBoolean egl_init(){ EGLDisplay eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY); // 为何是 EGL_DEFAULT_DISPLAY? if(eglDisplay == EGL_NO_DISPLAY){ .原创 2021-06-16 02:57:27 · 2070 阅读 · 0 评论 -
常用Linux开发命令
一 git使用(1) git log -p adb_install.cpp //查看文件的提交历史记录(2) git log --name-status ./ //列出修改过的文件和修改状态二 systrace(1) python systrace.py -b 16384 -t 8 gfx input view webview sm hal idle freq sched ...原创 2021-01-27 17:54:03 · 177 阅读 · 0 评论 -
Android显示系统框架初探(一)
一、前言:Android显示系统框架跟随着谷歌Android 8的Treble架构改革而发生较大的变动,从此之后hal层就以单独的hwc(hwcomposer)进程而存在,SurfaceFlinger进程通过hwbinder跟hwc进程打交道,两兄弟从此相爱相恨。 而Linux内核显示部分也从帧缓存(FrameBuffer)迈进了DRM时代(英文全称 Direct Renderin...原创 2020-04-10 00:18:39 · 3618 阅读 · 0 评论