android4.0和android2.3中对automatic brightness(背光调整)的策略是不一样的
来源:互联网 发布:淘宝九牧王卫浴保真吗 编辑:程序博客网 时间:2024/06/11 06:31
android4.0和android2.3中对automatic brightness(背光调整)的策略是不一样的
android4.0中,上层对HAL层关于背光的自动调整调用是正常的。
在~/mywork/403-sync/device/sprd/common/libs/liblights/lights.c中加入log发现。在自动背光调节过程中,上层会连续调用
set_light_backlight()
来根据light sensor上报的环境光线强度来设置背光。如下的logcat发现上层对背光的设置是向brightness 写入一串连续的值来缓慢过渡的,这样在用户看来就是屏幕慢慢的变亮或者变暗。体验很好。
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 28. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 30. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 32. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 35. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 37. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 39. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 41. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 43. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 46. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 48. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 50. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 52. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 54. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 56. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 59. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 61. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 63. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 65. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 67. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 69. #####
D/gralloc.mali( 91): fps = 1.631608
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 72. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 74. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 76. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 78. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 80. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 82. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 84. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 87. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 89. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 91. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 93. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 95. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 97. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 100. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 102. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 104. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 106. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 108. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 110. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 113. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 115. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 117. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 119. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 121. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 123. #####
而在android2.3.5中,发现上层对该函数的调用只有3级,感觉不对劲,今天请应用的同事确认了一下,原来果真如此。2.3中上层对背光调整函数的调用分为三档
当light sensor上报的光强值小于20的时候,上层把背光设置为低档。所以如果light sensor上报的光强的最小值如果没有低于20的时候,上层在背光调整的时候就只能设置为两档了。而目前的light sensor驱动不知道是出于什么原因,把上报的最小值固定在35. 我实在想不通这样的意义何在。说实话,有些驱动写的真的有点扯淡。要是在以前,哥就把每个驱动都重写了。
android4.0中,上层对HAL层关于背光的自动调整调用是正常的。
在~/mywork/403-sync/device/sprd/common/libs/liblights/lights.c中加入log发现。在自动背光调节过程中,上层会连续调用
set_light_backlight()
来根据light sensor上报的环境光线强度来设置背光。如下的logcat发现上层对背光的设置是向brightness 写入一串连续的值来缓慢过渡的,这样在用户看来就是屏幕慢慢的变亮或者变暗。体验很好。
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 28. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 30. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 32. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 35. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 37. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 39. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 41. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 43. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 46. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 48. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 50. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 52. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 54. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 56. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 59. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 61. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 63. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 65. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 67. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 69. #####
D/gralloc.mali( 91): fps = 1.631608
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 72. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 74. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 76. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 78. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 80. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 82. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 84. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 87. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 89. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 91. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 93. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 95. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 97. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 100. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 102. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 104. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 106. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 108. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 110. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 113. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 115. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 117. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 119. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 121. #####
E/lights ( 250): ####******************************1*: sprd/lights.c: set_light_backlight() brightness = 123. #####
而在android2.3.5中,发现上层对该函数的调用只有3级,感觉不对劲,今天请应用的同事确认了一下,原来果真如此。2.3中上层对背光调整函数的调用分为三档
当light sensor上报的光强值小于20的时候,上层把背光设置为低档。所以如果light sensor上报的光强的最小值如果没有低于20的时候,上层在背光调整的时候就只能设置为两档了。而目前的light sensor驱动不知道是出于什么原因,把上报的最小值固定在35. 我实在想不通这样的意义何在。说实话,有些驱动写的真的有点扯淡。要是在以前,哥就把每个驱动都重写了。
- android4.0和android2.3中对automatic brightness(背光调整)的策略是不一样的
- 虚拟机VMWARE和Ubuntu下搭建了一个android2.3/android4.2/android4.1/android4.0编译环境的操作过程
- android2.3与android4.0访问网络的异同
- android2.3实现android4.0风格的edittext
- android2.3与android4.0访问网络的异同
- android2.3实现android4.0风格的edittext
- android2.3实现android4.0风格的edittext
- 今天碰到Android2.3.3能运行的法度到android4.0中无法运行的景象
- 关于LCD调整背光的问题
- ubuntu 12.04(64位 server)下搭建 android2.3/android4.0开发环境及遇到的编译问题
- 取反(~)和相反数 是不一样的!!!
- 数组和指针确实是不一样的
- 数组和指针确实是不一样的
- qa和测试是不一样的。
- 睡眠和休眠是不一样的
- oracle中,为什么同样是对汉字进行排序,两个库的排序结果不一样?
- android之MediaPlayer区别(android2.3与android4.0)
- android之MediaPlayer区别(android2.3与android4.0)
- oracle-win7安装oracle 10g时发生”程序异常终止。发生内部错误”的提示
- Thinkpad T61显卡门的解决(更换集成显卡的主板)
- 设置adb和fastboot,让所有用户都可以执行
- oracle-ORA-12545:因目标主机或对象不存在,连接失败的解决办法
- 黑马程序员----JAVA----String类常用方法----
- android4.0和android2.3中对automatic brightness(背光调整)的策略是不一样的
- oracle-用PLSQL创建oracle的Normal用户
- 更新系统后导致的编译错误cannot find -lncurses
- oracle-如何连接到net数据库
- sensors.goldfish.so是什么
- python中数组的使用
- 应该知道的Linux技巧
- 在ubuntu12.04中开启休眠功能
- 执行make menuconfig出来了N多错误