重学安卓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实战干货,请关注下面"千里马学框架"

相关推荐
androidwork1 小时前
深入解析内存抖动:定位与修复实战(Kotlin版)
android·kotlin
梦天20151 小时前
android核心技术摘要
android
szhangbiao3 小时前
“开发板”类APP如果做屏幕适配
android
一入JAVA毁终身4 小时前
处理Lombok的一个小BUG
java·开发语言·bug
高林雨露4 小时前
RecyclerView中跳转到最后一条item并确保它在可视区域内显示
android
移动开发者1号6 小时前
ReLinker优化So库加载指南
android·kotlin
山野万里__7 小时前
C++与Java内存共享技术:跨平台与跨语言实现指南
android·java·c++·笔记
Huckings7 小时前
Android 性能问题
android
移动开发者1号7 小时前
剖析 Systrace:定位 UI 线程阻塞的终极指南
android·kotlin
移动开发者1号7 小时前
深入解析内存抖动:定位与修复实战(Kotlin版)
android·kotlin