自由窗口圆角无效/ubuntu无法用wifi/输入窗口层次/user版本pull出data下文件-vip学员近期答疑问题汇总

VIP学员近期开发答疑问题汇总

背景:

经常有vip学员朋友们在vip群里,或者私下问我一些开发中技术需求,技术困惑,难题等,一般马哥针对每个vip学员的问题都会认真看,一些和我们课程技术相关的,我都会及时和大家进行回答反馈。当然偶尔一些问题我也有可能不知道,但是也会给大家积极想办法探索新思路新知识来解决。
针对这些vip学员们提出一些技术问题,我也会定期给大家进行一些常见经典的问题进行汇总简答,同时发布到我们blog或者公众号等方式进行公开,方便其他学员遇到再询问时候直接可以找到答案,当然有一些高级可能就不公开对外只对vip学员群,今天给大家汇总几个经典的技术问题。

vip学员问题及解答汇总:

问题1:
有vip学员反馈明明给窗口设置了相关的圆角,但是画面的实际现象都看不到有圆角的效果。

这里我给大家说说分析这类问题步骤:
1、Winscope抓取目标窗口的sf信息,看看Layer中是否有体现出对应的Corner Radius,如果Layer图层中这里是有具体圆角半径,那说明就是已经设置成果
在这里插入图片描述第1步主要就是用于排除有时候设置圆角半径可能没有真正设置到Layer,导致Layer最后没有圆角半径,比如程序可能有多个地方设置圆角半径,有的地方设置为0了。

2、如果第1步确定Layer确实有,但是还看不见圆角,那么一般这种情况下主要还是显示区域范围的问题,简单说就是圆角确实有圆角,只不过圆角没有在显示区域范围内,圆角可能显示在裁剪区域范围外,这个情况其实在SurfaceFlinger课程的GPU合成讲解时候有讲过。

这种情况,学员们也纷纷有过类似的经验:

学员1:
在这里插入图片描述
学员2:

在这里插入图片描述

问题2
学员朋友们经常会使用自己的笔记本电脑安装ubuntu和windows双系统,但是明明在windows上面的wifi是可以正常使用的,但是ubuntu系统上发现wifi无法使用,请问这种问题应该如何解决?
针对这个问题我这边一般给学员建议如下解决方法:

1、尝试升级一下ubuntu系统的版本,看看是否可以解决,比如原来是20.04版本,可以升级到22.04
如果发现哪怕升级到最新版本的ubuntu都无法解决,那就说明ubuntu最新版本也不自带你电脑的wifi驱动

2、自己记住电脑wifi的型号,考虑自己网络github等寻找wifi驱动,但是一般有门槛,新手不建议

3、考虑使用电脑有线网络上网,如果没有网口可以考虑买个usb转有线的头预计30块钱

4、使用安卓手机的话,一般都可以通过usb连接ubuntu系统共享手机网络给ubuntu

5、最简单经济方法,懒着找电脑wifi驱动,直接花个10-20块钱买个usb无线网卡,注意买的时候要看清楚是否支持linux,商家会发送对应的ubuntu驱动包,当然可能需要电脑可以上网,这时候就考虑用方法4临时上网安装好usb wifi驱动。
在这里插入图片描述

问题3
为啥window层次type看,明显输入法ime的层级明显比toast要高,但是真实使用发现toast一直展示在输入法的上面。
在这里插入图片描述其实这个问题提的很好,简单说就是学员朋友们在学习层级结构树之后发现有一些理论和实际情况对不上,说明学员朋友们是在认真学习的。
不过针对这个学员的问题我本身也在群里有做出简单回答:

在这里插入图片描述
简单说输入法类型窗口较为特殊,一般输入法窗口需要跟随Activity的图层一起,所以一般会把输入法窗口进行相对挂载到Activity的图层下面。
更为详细的情况可以通过Winscope抓取层级结构树看出:

如果看window的层级结构树,发现确实输入法在Activity的上面,而且并没有挂载Activity的相关图层下面,而是自己有独立的高层次节点ImePlaceholder:13:14

在这里插入图片描述
但是以前我们也一直强调,一般看真正的显示情况时候,需要看的是SurfaceFlinger的图层才是最准确的,因为sf才会和手机显示画面最贴近的一层。
SurfaceFlinger中的层级结构树就有明显展示这种相对父亲的挂载
在这里插入图片描述
至于相对父亲的挂载情况前面也有详细讲解
Winscope重要干货知识点RelativeLayer相关的查看方式

问题4:
很学员在做实际开发中一般都是使用user版本手机
在这里插入图片描述
这个其实手机data路径下的文件有很多类型,有的是可以直接用adb pull到电脑,有的不可以。
为啥有的可以有的不可以呢?
主要还是系统为了数据安全性考虑,针对不同的目录有不同的安全策略和保护,一般userdebug手机可能相对宽松,user版本相对严格。具体情况也有单独的目录进行分析,所以学员朋友们需要确认相关目录是否可以,用以下几个步骤来确认:

1、先adb pull相关data目录,看是否可以成功

2、如果步骤1不可以成功,那么考虑使用bugreport命令,看看是可以导出相关目录。

更多framework实战开发干货,请关注下面“千里马学框架”

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

千里马学框架

帮助你了,就请我喝杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值