Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.
Get Feederblog.hanschen.site
Get the latest updates from HansChen 的博客 directly as they happen.
Last updated almost 5 years ago
almost 5 years ago
1. 简介在 Android 窗口管理中,所有的窗口都是以树形数据结构进行组织管理的, 认知这棵 WMS 的树有助于我们理解窗口的管理和显示, 同时, WMS 的层级也决定了其在 SurfaceFlinger 的层级结构,...
almost 5 years ago
1. 简介随着越来越多大屏和折叠屏设备出现,很多应用并未对不同尺寸的设备进行 UI 适配,这时候应用选择以特定的宽高比显示(虽然 Google 不建议这这样做,官方还是希望开发者可以对不同的屏幕尺寸进行自适应布局~),当应用的宽高比和它的容器比例不兼容的时候,就会以 Letterbox 模式打开。Letterbox 模式下界面会以指定的比例显示,周围空白区域可以填充壁纸或者颜色。至于 Letterbox 的外观可受以下因素影响:config_letterboxActivityCornersRadius: 界面圆角大小config_letterboxBackgroundType:...
almost 5 years ago
1. 简介在开发过程中,经常会遇到各种各样的窗口问题,比如动画异常、窗口异常、闪屏、黑屏、错位显示..以前对于这些问题,我们可以通过添加日志,调试分析代码等手段去解决,但这些 UI 问题往往出现在一瞬间,很难把握出现的时机,录制下来的日志往往也是巨大的,从海量的日志中提取有效的信息是一个枯燥且繁琐的事情。Android 也意识到了这个问题,WinScope 的出现有效的帮助我们跟踪窗口和显示问题。它向开发者提供一个可视化的工具,让开发者能使用工具跟踪整个界面的变化过程, 让我们可以观察到细微的变化。 迭代了几个版本后, Android 12 上 WinScope...