重学安卓14/15自由窗口freeform企业实战bug-学员作业

背景:

在aosp14版本及以后版本上,安卓的自由窗口部分的工具栏部分都有了较大的更新

工具栏这部分已经移到了SystemUI进程的WMShell进行统一的管理。

但是近来有学员朋友在对自由窗口进行相关的拖拽操作时候,有遇到这个工具栏相关的一个bug,刚好aosp上面也确实可以复现,这里就拿出来分享给各位学员朋友,刚好可以拿来尝试练手,从而巩固在aosp14/15上自由窗口相关的实战经验。

bug现象展示:

复现版本:

aosp15验证,当然aosp14应该也可以

复现步骤:

1、最近任务中启动自由窗口

2、选中右下角频繁进行相关拖拽放大缩小自由窗口

视频如下:

细心同学可以已经看到了相关的问题所在的,当然不认真看可能比较难看出来,这里取出有问题的相关帧如下:

明显看到上面的工具栏的大小在拖拽过程中和自由窗口Activity的宽度不一样大了,看起来就有错位现象,抓取出其中一帧有问题的看看。

作业要求:

上面的bug

1、基于所学知识大概猜测出问题原因

2、实战使用Winscope等分析工具定位出直接原因

3、源码中寻找到问题点,并进行相关方案修改

修改该问题必备相关的知识:

1、课程的freeform相关知识

2、课程的Winscope的相关

3、课程的ShellTransition相关知识

更多framework实战干货,请关注下面"千里马学框架"

相关推荐
dalancon1 小时前
SurfaceControl 的事务提交给 SurfaceFlinger,以及 SurfaceFlinger 如何将这些数据设置到对应 Layer 的完整流程
android
dalancon1 小时前
SurfaceFlinger Layer 到 HWC 通信流程详解
android
cccccc语言我来了1 小时前
Linux(9)操作系统
android·java·linux
yige452 小时前
【MySQL】MySQL内置函数--日期函数字符串函数数学函数其他相关函数
android·mysql·adb
洞见前行2 小时前
AI 当逆向工程师:Claude Code 自主分析 APK 和 so 文件,解决 Unity 插件化启动崩溃
android·人工智能
努力进修2 小时前
旧安卓手机别扔!用KSWEB搭个人博客,搭配外网访问超香
android·智能手机·cpolar
范特西林3 小时前
一文看懂Android SELinux 策略,从“拒绝”到“允许”的距离
android
客卿1235 小时前
用两个栈实现队列
android·java·开发语言
studyForMokey5 小时前
【Android面试】Gradle专题
android·面试·职场和发展
向上_503582916 小时前
配置Protobuf输出Java文件或kotlin文件
android·java·开发语言·kotlin