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 原生系统这样代码是没问题,猜测可能是系统配置低性能较差,以及开发做的反优化有关...

相关推荐
xvch42 分钟前
Kotlin 2.1.0 入门教程(七)
android·kotlin
望风的懒蜗牛1 小时前
编译Android平台使用的FFmpeg库
android
浩宇软件开发1 小时前
Android开发,待办事项提醒App的设计与实现(个人中心页)
android·android studio·android开发
ac-er88882 小时前
Yii框架中的多语言支持:如何实现国际化
android·开发语言·php
苏金标3 小时前
The maximum compatible Gradle JVM version is 17.
android
zhangphil3 小时前
Android BitmapShader简洁实现马赛克,Kotlin(一)
android·kotlin
iofomo7 小时前
Android平台从上到下,无需ROOT/解锁/刷机,应用级拦截框架的最后一环,SVC系统调用拦截。
android
我叫特踏实8 小时前
SensorManager开发参考
android·sensormanager
五味香10 小时前
Java学习,查找List最大最小值
android·java·开发语言·python·学习·golang·kotlin
graceyun15 小时前
C语言进阶习题【1】指针和数组(4)——指针笔试题3
android·java·c语言