学员作业:探索锁屏、桌面壁纸相关差异显示原理
背景:
近期有学员问了一个关闭息屏亮屏后,发现会有闪壁纸的现象
这个闪壁纸问题后面经过验证也无法在aosp平台进行复现,所以暂时没办法给大家布置这个闪屏的作业。
但是学员们针对这个问题也有同学有相关的一些解决思路分享:
简单说他们原来解决办法是锁屏壁纸是作为锁屏界面的一个背景图片bitmap,和锁屏窗口的view是一体的,当然这个解决方案具体还得复现问题尝试验证,这个方案表面理论上看着可行。
但有学员朋友又私下问到了,锁屏壁纸和桌面壁纸的相关差异区别原理是啥?
感觉这个学员提出的问题确实是个好问题哈,所以给大家整理成一个锁屏,桌面壁纸差异显示方案原理调研了。
锁屏壁纸相关疑问
系统中即可以设置桌面壁纸,也可以设置锁屏壁纸,而且二者还可以长得不一样,各自设置各自壁纸,请问这块原理是什么?锁屏壁纸和桌面壁纸是如何区分的差异显示,是同一个Wallpaper的窗口显示不同的bitmap还是说根本就是不同的Wallpaper窗口?
现象展示如下:
锁屏壁纸展示
桌面相关壁纸展示:
为了方便大家调研该问题,首先需要教大家复现,设置锁屏和桌面壁纸操作提示如下:
进入设置界面,点击Wallpaper相关的:
在设置壁纸时候去除一个勾选既可以
这样就可以单独只设置锁屏或者桌面壁纸,而不会两个都设置成一样的壁纸。
学员作业要求:
作业需要的基础知识:
1、wms相关知识
2、Winscope和dumpsys想使用
3、代码的debug方法比如堆栈,as进行debug
4、其他一些基本的Wallpaper知识
作业要求:
1、剖析出正常桌面壁纸显示原理
2、剖析出锁屏,桌面壁纸的设置差异流程
3、剖析锁屏壁纸和桌面壁纸显示原理
尽量用文档方式输出上面的作业成果。
原文地址:
https://mp.weixin.qq.com/s/rFUgOCVDY7As9UgViDn6_Q
更多framework实战干货,请关注下面“千里马学框架”