Android 10.0手动背光调节技术解析
需积分: 47 141 浏览量
更新于2024-07-15
1
收藏 777KB PDF 举报
"Android 10.0 手动背光调节流程主要涉及到系统UI和设置应用中的BrightnessController组件。这个组件在用户手动调整屏幕亮度时起着关键作用。当用户通过ToggleSlider改变亮度时,相关逻辑会触发onChanged方法。在这个方法中,系统会根据当前是否处于VR模式来确定亮度的最小值(min)、最大值(max)以及对应的设置参数。
在非VR模式下,亮度范围由mMinimumBacklight和mMaximumBacklight设定,对应的设置项是Settings.System.SCREEN_BRIGHTNESS。如果设备处于VR模式,则使用特定的VR亮度范围,并将设置项更改为Settings.System.SCREEN_BRIGHTNESS_FOR_VR。此外,当跟踪亮度滑块移动时,系统还会记录用户的行为,如通过MetricsLogger.action记录亮度调整事件。
在计算新的亮度值时,BrightnessController采用了gamma校正转换(convertGammaToLinear),这是一个从滑块值到线性亮度值的转换过程,确保显示的亮度与用户滑动的比例一致。当停止跟踪滑块时,会记录用户最后的亮度选择,同时调用setBrightness方法设置当前屏幕亮度。
为了持久化亮度设置,BrightnessController使用了一个后台任务(AsyncTask)来异步更新Settings.Provider中的值。这样做的好处是避免了阻塞UI线程,提高了系统的响应性。Settings.System.putIntForUser方法被用来存储新的亮度值,这样即使设备重启,之前设定的亮度也能得到保留。
Android 10.0的手动背光调节流程是一个涉及用户交互、屏幕亮度控制、系统设置持久化等多个环节的复杂过程,通过BrightnessController组件协调完成,确保了用户能够便捷、平滑地调整设备亮度,并且这些设置能够在后续的使用中得到保存和恢复。这一机制对于提升用户体验和优化电源管理具有重要意义。
2021-04-28 上传
2021-07-31 上传
2021-07-31 上传
2022-03-15 上传
yaore
- 粉丝: 8
- 资源: 2
最新资源
- 鼠标键盘录制精灵独立版
- web_pwa_luxspace:fFom高级视频buildwithangga PWA React类
- fusesizingguide:用于预售目的
- win7win10全系统x64驱动读写教程.rar
- Marbling_Score:牛肉大理石花纹分数如何改善饮食质量?
- html3453
- cpp代码-串行FCM算法代码
- expo-graphics:有助于简化三点,pixi,移相器等工作的工具。
- oxiurus.github.io
- HypothesisCreator-开源
- matlab分时代码-AppleSiliconForNeuroimaging:回顾基于ARM的AppleSiliconmacOS在脑成像研究方
- 14-teksto-analize
- 学生信息管理系统
- 网络表格
- gstatsjs:WebGL的图形统计信息(DrawCalls和TextureCount)
- 鼠标键盘录制精灵独立版