Android Settings 无障碍设置显示大小页面重复加载问题

基于Android 11,跟踪源码

显示大小页面

packages/apps/Settings/src/com/android/settings/display/PreviewSeekBarPreferenceFragment.java

通过commit() 提交更新页面显示大小。该方法是是在其父类PreviewSeekBarPreferenceFragment 实现调用。

基类预览滑动进度页面

packages/apps/Settings/src/com/android/settings/display/PreviewSeekBarPreferenceFragment.java

查看setPreviewLayer()方法,在所有用到该方法地方打印日志调试,发现

在操作一次滑动后,调用了两次。

分别是seekbar滑动监听下 onProgressChanged()

和初始化视图 onCreateView() 中;

新建一个setPreviewLayer(),
移除 mPreviewPagerAdapter.setPreviewLayer(index, mCurrentIndex,mPreviewPager.getCurrentItem(), animate); 这一行刷新逻辑, 在Seekbar滑动监听下 onProgressChanged()下替换默认方法

编译刷机验证。

ps:正常的Android 原生系统这样代码是没问题,猜测可能是系统配置低性能较差,以及开发做的反优化有关...

相关推荐
杉氧14 小时前
副作用 (Side Effects) 全攻略:如何像大师一样掌控 Composable 的生命周期?
android·架构·android jetpack
Kapaseker18 小时前
Kotlin Toolchain 0.11 发布:主要是把 Amper 干没了
android·kotlin
三少爷的鞋19 小时前
Android 现代架构不需要事件总线进阶篇
android
杉氧1 天前
深入理解 Compose 重组机制:快照系统如何驱动 UI 精准刷新?
android·架构·android jetpack
召钱熏1 天前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端
杉氧1 天前
深度解析:Jetpack Compose 核心架构与底层原理 —— 十年安卓老兵的“破茧重生”
android·架构·android jetpack
通玄1 天前
Jetpack Compose 入门系列(七):ViewModel 与界面状态管理
android
落魄Android在线炒饭1 天前
Android Framework 开发技巧:android.jar 生成与系统快速编译验证
android
如此风景1 天前
Kotlin Flow操作符学习
android·kotlin
plainGeekDev2 天前
GreenDAO → Room
android·java·kotlin