首页
学习
活动
专区
工具
TVP
发布

王小二的Android站

Read the fucking source code
专栏成员
91
文章
153305
阅读量
30
订阅数
[097]SurfaceSyncGroup的细节
最近在看SurfaceSyncGroup,很多代码还是很好理解的,但是其中有几处细节,可能你看的时候没有注意。 因为这个SurfaceSyncGroup名字太长,我后面都会使用SSG缩写代替。
王小二
2024-05-11
2650
[096]图解HWC的合成策略
最近好几个网友都来问我HWC是根据什么条件来决定client合成还是device,作为之前一直"吹牛逼",说自己如何好学,如何积极回答网友问题的博主,这波必须安排,看完这篇文章,绝对让你明白。
王小二
2024-04-25
4140
[095]Binder调用的优先级降级
这是一个来自朋友的疑问,在sf调用hwc的binder_f1的函数中hwc调用sf的binder_f2,会导致线程的优先级从97降级为120。
王小二
2024-04-20
2890
[093]SurfaceSyncer的致命缺陷
我遇到一个很有意思的ANR问题,从trace分析来看,Launcher应用在不断地queuebuffer,但是SurfaceFlinger对应的buffer的数量没有增加,也就意味着buffer无法被消费,等到3个buffer都是用掉了,应用也就dequeuebuffer不出来了,虽然dequeuebuffer的timeout时间是4s小于anr的5s,但是还是有可能触发anr。
王小二
2023-12-09
6570
[092]untrusted-touch-events
来自于一个网友在技术交流群中问题,我正好之前开发过程中也遇到了类似的问题,写个文章记录一下。
王小二
2023-12-06
4210
[091]WinScope进阶使用
在[075]WinScope简介和使用中介绍了如何使用WinScope,但是总感觉这样子用不方便,现在介绍一种更方便的使用方式
王小二
2023-12-01
1.1K0
[090]unsignaled-buffer-latch功能
首先是千里马兄弟提出来了一个认知acquireFence只需要在HWC工作的之前signal就可以了,其实我也一直是这个认知,而且在 Android画面显示流程分析(3)-BufferQueue和Fence这篇文章中变相了提到了这点,如图中红色圈圈。但是他看了代码就感觉事实上如果buffer unsignaled,SurfaceFlinger无法放buffer过去给HWC,他自己的认知被颠覆,所以找我来确认,其实我第一眼代码也真的被颠覆了,后来经过我们两个晚上的不断讨论和抓trace分析,现在终于搞明白了。
王小二
2023-11-22
7550
[089]图解Binder应用篇-补课篇
今天完成了 王小二图解Android【010】Binder应用篇的直播,说实话这次我只能给自己打一个59分数。回去我在不断思考,最后觉得这个Binder培训就根本不应该采用1对多的培训模式,其实我在昨晚就给一个毕业半年左右的网友一对一的试讲过,中途我们会不断地交流,给他补了很多知识,最后效果我觉得有85分。 但是今天一整天我一直心有不甘,我觉得还是有必要为自己今天的直播课上一个补课。
王小二
2023-11-20
2110
[088]首次直播网友的问题澄清
很开心今天完成了首次直播,很感谢那么多网友的捧场,希望真的帮助到了大家。 针对直播中网友临时提的几个问题,给出我的澄清。 一、问题1
王小二
2023-11-12
2380
[086]VSYNC研究-最后的窗户纸
最近在精读努比亚团队的SurfaceFlinger模块-VSYNC研究,其中有一段话一直困扰到我,成为了彻底理解vsync的最后一层窗户纸。
王小二
2023-11-09
8520
[085]SW VSYNC模型更新与校准
对于Vsync信号的相关领域中,一直有一座大山我一直没有翻跃,那就是SW VSYNC模型更新与校准。 经过认真阅读努比亚技术团队的文章SurfaceFlinger模块-VSYNC研究,我终于翻跃了这座大山。 本文是针对SW VSYNC模型更新与校准这部分的理解和补充,建议先看努比亚的文章再看我这个文章。
王小二
2023-11-04
4710
[084]Binder答疑解惑(二)
只需要序列化的时候将String和int写个某个内存区域,反序列化的时候读取这个内存区域,重新构造一个Person对象。
王小二
2023-09-11
2450
[083]Binder答疑解惑(一)
为什么已经有了管道等跨进程通信方式,却要另外创建Binder方式?直接在原来的跨进程方式上面修改,不是更加方便吗?
王小二
2023-09-09
2700
[082]破局Cmake中的PRIVATE,PUBLIC,INTERFACE
最近看了很多项目的代码,代码是用cmake编译的,由于各种库之间链接关系错综复杂,加上PRIVATE,PUBLIC,INTERFACE属性值,我在添加代码的时候总会遇到稀奇古怪的编译的问题,网上看了很多文章,写的都不是很靠谱,正好看到一个b站视频讲的不错,解决了我很多疑惑,我又有了新的疑惑,折腾了一晚上终于把这个搞明白了,分享给大家。
王小二
2023-08-16
1.2K0
[081]AI教你快速入门someip
修改examples/hello_world/helloworld-local.json中IP为本机的IP,其实不改也没事,如果要两个设备之间运行就得改了。
王小二
2023-05-23
1.1K0
[080]DoIP入门介绍
DoIP是 Diagnostic communication over Internet Protocol的缩写,其实就是基于以太网的UDS协议的数据进行传输。其本身也是一种协议,规范于ISO13400标准。由于DoIP可以传输大量数据,以及响应速度快,且可以通过以太网进行远程诊断,刷写,OTA等任务,因此DoIP逐步成为代替传统的CAN。
王小二
2023-05-23
3.1K0
[078]Photon-Linux学习环境搭建
础光 Linux 是面向汽车的实时操作系统,在原生 Linux 内核基础上,确保系统可靠的前提下,从中断线程化、调度策略、进程切换等方面进行了优化,构建了专注于仪表/娱乐/自动驾驶场景的安全、可靠、强实时的基础操作系统,分享一下我的本地学习环境。
王小二
2023-02-16
8610
[077]uboot编译及QEMU调试
最近在看一些uboot相关的内容,有一些疑惑,但是暂时我又没有硬件板子,我就准备用QEMU模拟调试。
王小二
2023-02-10
2.1K0
[076]SHELL TRANSITIONS
最近在看一些问题的时候,尤其是一些事务切换闪屏的问题时候,发现对BlastBufferQueue了解的不够深入,就仔细研究了一下。 发现BlastBufferQueue和SHELL TRANSITIONS有很重要的关系,所以借此机会,来初步了解一下SHELL TRANSITIONS。
王小二
2022-12-09
2.1K0
[068]破局ANR
ANR是Android中经常遇到的问题,常规的ANR问题,一般可以通过adb日志和trace文件,找到导致ANR的原因,但是有很多偶发的ANR问题,难以采用常规的手段来分析的,通过学习字节跳动整治ANR的系列文章,聊聊自己的感悟。
王小二
2022-05-14
1.6K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档