Android R DisplayManagerService模块(1) 启动,android系统开发总结

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情
    • a.添加了新的DisplayDevice;
    • b.DisplayDevice状态发生变化;
    • c.移除DisplayDevice。
  1. DisplayViewport:携带有physical display参数,用于通知IMS display信息。

以上类并非所有都位于同一包下,共有一下几个位置:

Package Name Directory Description Example
android.hardware.display frameworks/base/core/java/android/hardware/display 外部模块可访问没有@hide注释的类 DisplayManager, DisplayMangaerGlobal, …
android.view frameworks/base/core/java/android/view 逻辑屏配置相关 DisplayInfo, DisplayViewport, …
com.android.server.display frameworks/base/services/core/java/com/android/server/display DMS核心,外部模块无权限直接访问 DMS,DisplayDevice, …

下图列出了DMS模块中Physical Display和Logical Display的对应关系:

dms_relation.jpg

2.DMS的启动流程

DisplayManagerService继承于SystemService,因此他的启动流程和其他SystemService一样,由SystemServer启动。在SytemServer中:

// frameworks/base/services/java/com/android/serv

android11-修改屏幕显示方向和触摸方向 参数0表示12点钟方向显示参数90表示3点钟方向显示参数180表示6点钟方向显示参数270表示9点钟方向显示。 阅读详情

相关推荐

Android设置DisplayViewport

【代码】Android设置DisplayViewport。

薛文旺 597

Android板实现双屏显示,DisplayManager和Display的使用

Android板实现双屏显示,DisplayManager和Display的使用,无须引入其他框架。只需调用原生谷歌类即可

Android R DisplayManagerService模块(1) 启动

最后小编想说:不论以后选择什么方向发展,目前重要的是把Android方面的技术学好,毕竟其实对于程序员来说,要学习的知识内容、技术有太多太多,要想不被环境淘汰就只有不断提升自己,从来都是我们去适应环境,而不是环境来适应我们!这里附上我整理的几十套腾讯、字节跳动,京东,小米,头条、阿里、美团等公司19年的Android面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。由于篇幅有限,这里以图片的形式给大家展示一小部分。详细整理在GitHub可以见;

m0_60634964的博客 866

高通三屏显示-副屏display[1] dpi密度修改

背景: AOSP中的副屏作为external屏幕,会根据一个公式来计算副屏display[1]的dpiDensity。根据屏幕的不同,需要修改这个dpi density的值。 目的&知识讲解: 目的:修改dpi density,使副屏display[1] 密度正确。 知识讲解:分辨率(PX) 分辨率就是手机屏幕的像素点数。一般为屏幕的“宽×高”,例如分辨率有720×1280的手机设备,表示此屏幕在宽度方向有720个像素点,在高度方向有1280个像素点。 屏幕尺寸(英寸inch) 按

jiang_dlut 1766

Android使用DisplayManager创建虚拟屏流程及原理解析

虚拟屏通过这张Surface拿到Surface对应的Buffer,将上屏内容绘制到这个Buffer上,然后提交到画面流水线上(SurfaceFlinger)。虚拟屏幕的创建,Client端通过Surface告知的DisplayID,创建VirtualDisplay对象。DMS服务端,通过SurfaceFlinger创建虚拟屏,拿到SurfaceFligner的DisplayToken,然后通过它创建VirtualDisplayDevice + LogicalDisplay来管理虚拟屏幕。

chinaherolts2008的博客 2585

ANDROID DisplayManager 服务解析一

原文地址:http://blog.csdn.net/goohong/article/details/8536102  ANDROID从版本4.2开始提供了一个显示管理服务DisplayManagerService,支持多种显示类型的多个显示器的镜像显示,包括内建的显示类型(本地)、HDMI显示类型以及支持WIFI Display 协议( MIRACAST),实现本地设备在远程显示

androidboy365的专栏 2386

Android R DisplayManagerService模块(1) 启动,安卓ndk开发书籍

看到这篇文章的人不知道有多少是和我一样的Android程序员。35岁,这是我们这个行业普遍的失业高发阶段,这种情况下如果还不提升自己的技能,进阶发展,我想,很可能就是本行业的职业生涯的终点了。我们要有危机意识,切莫等到一切都成定局时才开始追悔莫及。只要有规划的,有系统地学习,进阶提升自己并不难,给自己多充一点电,你才能走的更远。千里之行始于足下。这是上小学时,那种一元钱一个的日记本上每一页下面都印刷有的一句话,当时只觉得这句话很短,后来渐渐长大才慢慢明白这句话的真正的含义。

2401_84148974的博客 901

Android13 DisplayManagerService启动流程分析

DisplayManagerService的onStart方法主要加载持久化数据(主要是显示设备的宽高等),发送 MSG_REGISTER_DEFAULT_DISPLAY_ADAPTERS消息,对外公布Binder、Local Service等。1、调用DisplayManagerService的getBrightnessConfigForDisplayWithPdsFallbackLocked方法,获取亮度相关配置。

liuning1985622的博客 1619

Android R DisplayManagerService模块(1) 启动,2021年你与字节跳动只差这份笔记

DisplayManagerService.CallbackRecord: DMS内部类,内部持有IDisplayManagerCallback对象,负责执行IDisplayManagerCallback的回调; DisplayManager: 暴露给App层的接口,内部持有DisplayManagerGlobal对象引用,利用DisplayManagerGlobal和DMS进行交互; IDisplayManagerCallback:一个IBinder接口,DMS中发生display相关动作后,会通过该接.

m0_64383081的博客 1660

Android R DisplayManagerService模块(1) 启动,flutter环境变量配置

Ove 《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》 【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享 rlayDisplayDevice:DisplayDevice的子类,开发者选项->模拟辅助显示开启后,创建的就是该类对象; 5. VirtualDisplayDevice:DisplayDevice的子类,表示虚拟显示屏幕,用于屏幕录制等; 6. LogicalDisplay:代表逻辑显示屏,每一个phys.

m0_64603776的博客 573

Android R DisplayManagerService模块(1) 启动,大专生三面蚂蚁金服

SystemServer中启动DMS后,并保留了DMS对象引用,因此除了执行正常启动方法之外,还进行了以下操作: // frameworks/base/services/java/com/android/server/SystemServer.java private void startBootstrapServices() { … mDisplayManagerService.setupSchedulerPolicies(); } private void startOtherServices() {

wa2231a的博客 391

Android R DisplayManagerService模块(1) 启动,【设计思想解读开源框架

SystemServer中启动DMS后,并保留了DMS对象引用,因此除了执行正常启动方法之外,还进行了以下操作: // frameworks/base/services/java/com/android/server/SystemServer.java private void startBootstrapServices() { … mDisplayManagerService.setupSchedulerPolicies(); } private void startOtherServices() {

m0_66145060的博客 310

Android R DisplayManagerService模块(1) 启动,搞懂开源框架设计思想真的这么重要吗

b.DisplayDevice状态发生变化; c.移除DisplayDevice。 DisplayViewport:携带有physical display参数,用于通知IMS display信息。 以上类并非所有都位于同一包下,共有一下几个位置: Package Name Directory Description Example android.hardware.display frameworks/base/core/java/android/hardware/d...

m0_66144992的博客 413

2024年安卓最全Android R DisplayManagerService模块(1) 启动(2),java三年开发经验面试题总结

光有这些思路和搞懂单个知识的应用是还远远不够的,在Android开源框架设计思想中的知识点还是比较多的,想要搞懂还得学会整理和规划:我们常见的**Android热修复框架、插件化框架、组件化框架、图片加载框架、网络访问框架、RxJava响应式编程框架、IOC依赖注入框架、最近架构组件Jetpack等等Android第三方开源框架,**这些都是属于Android开源框架设计思想的。如下图所示:这位阿里P8大佬针对以上知识点,熬夜整理出了一本长达1042页的完整版如何解读开源框架设计思想。

2401_84562377的博客 755
上一篇: android mmap的使用,2021年展望Android原生开发的现状
下一篇: Android Framework学习笔记(五,kotlin函数式接口
m0_64604042
博客等级 码龄5年 5粉丝 146原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值