Android 设置 Setting --->开发者选项 中选项为默认配置(by liukun321咕唧咕唧)
来源:互联网 发布:如何提高淘宝卖家信誉 编辑:程序博客网 时间:2024/05/16 15:49
在调试Android4.2.2 10.1寸LCD驱动时无意发现4.2.2有闪屏的bug(其实也不能称它为bug,个人认为应该是系统两种不同的图像混叠策略导致在不同硬件平台优化不匹配)。
现象:在开启应用程序或者在应用程序退出时,快速闪过HOME图像。 后来看到很多Android用户在升级到4.2.2是都出现了闪屏。而解决办法网上也搜得到。
勾选Setting ---->developer options------->Disable HW overlays (选项勾选后所有的图像混叠都由GPU实现) 。对于一般用户这样做就可以了。 但是这种闪屏现象很容易让人感觉系统不稳定,或是lcd驱动有什么问题。这就要求在Android源码编译时就完成Disable HW overlays选项的配置。
而开发者选项位于Setting中,很容易让人想到,去修改Setting的默认配置,方法如下:
如果想修改系统启动后加载的默认值,修改SettingsProvider默认值,Settings能够配置Android系统的各种设置,这些设置的默认值都是由frameworks中的SettingsProvider从数据库中读取的,那么第一次开机的时候这些数据都是从哪儿来的呢?
frameworks/base/packages/SettingsProvider/res/values/defaults.xml
这个文件就是用来存储Android系统的默认设置
例如:
<integername="def_screen_off_timeout">600000</integer>设置关屏超时时间的默认值
<integername="def_screen_brightness">102</integer>设置亮度的默认值
<boolname="def_install_non_market_apps">false</bool>设置是否允许安装非Market应用程序的默认值
如果想定义defaults.xml中没有的,在这里添加后,需修改
frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java,加入自己的存储代码。
但是在Setting中找不到Disable HW overlays有关的选项。 还好有aSysBang的指导:
HWC这个东西不是用settingsprovider存储的。
那你往database里面怎么写也不会被调用到的。
frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp中有跟显示相关的配置,只需修改下面红字部分即可。
SurfaceFlinger::SurfaceFlinger()
: BnSurfaceComposer(), Thread(false),
mTransactionFlags(0),
mTransactionPending(false),
mAnimTransactionPending(false),
mLayersRemoved(false),
mRepaintEverything(0),
mBootTime(systemTime()),
mVisibleRegionsDirty(false),
mHwWorkListDirty(false),
mDebugRegion(0),
mDebugDDMS(0),
mDebugDisableHWC(1),
mDebugDisableTransformHint(0),
mDebugInSwapBuffers(0),
mLastSwapBufferTime(0),
mDebugInTransaction(0),
mLastTransactionTime(0),
mBootFinished(false)
修改后,编译源码,烧写system.img 。启动后,Setting ---->developer options------->Disable HW overlays 选项就被默认勾选了。闪屏现象消失。
- Android 设置 Setting --->开发者选项 中选项为默认配置(by liukun321咕唧咕唧)
- Android 设置 Setting --->开发者选项 中选项为默认配置
- 关于u-boot for tiny210 NFS启动Android根文件系统(by liukun321 咕唧咕唧)
- 杀不死进程怎么办(by liukun321咕唧咕唧)
- 字符驱动 poll方法小记(by liukun321咕唧咕唧)
- 浅谈LINUX 内存分页机制(by liukun321咕唧咕唧)
- 浅析为何要内存对齐(by liukun321咕唧咕唧)
- cramfs 根文件系统的制作(by liukun321咕唧咕唧)
- u-boot for tiny210 ver1.0(by liukun321咕唧咕唧)
- u-boot for tiny210 version2.0(by liukun321咕唧咕唧)
- u-boot for tiny210 ver2.1(by liukun321咕唧咕唧)
- u-boot for tiny210 ver2.2(by liukun321咕唧咕唧)
- u-boot for tiny210 ver2.2.1(by liukun321咕唧咕唧)
- u-boot for tiny210 ver2.2.2(by liukun321咕唧咕唧)
- u-boot for tiny210 ver3.0 (by liukun321咕唧咕唧)
- u-boot for tiny210 ver3.1 (by liukun321咕唧咕唧)
- u-boot for tiny210 ver1.0(by liukun321咕唧咕唧)
- u-boot for tiny210 version2.0(by liukun321咕唧咕唧)
- 易經大意(11) 三和 韓長庚 著
- 利用ArrayList对Hashtable其进行排序
- SGU114-Telecasting station
- poj 1703 Find them, Catch them
- MES 趣谈
- Android 设置 Setting --->开发者选项 中选项为默认配置(by liukun321咕唧咕唧)
- centos5.4安装g++和gcc
- Raspberry Pi 安装Sensor驱动
- 高性能MySql进化论(九):查询优化器常用的优化方式
- iOS7应用开发9:autolayout自动布局
- crack the code interview 2.5
- IP与MAC为什么同是存在?
- mysql lock
- 迈出从3K到1w的重要一步