关闭

Android 设置 Setting --->开发者选项 中选项为默认配置(by liukun321咕唧咕唧)

9448人阅读 评论(0) 收藏 举报
分类:

     在调试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 选项就被默认勾选了。闪屏现象消失。

0
0
查看评论

android graphic(9)—开发者选项关闭HW overlays

setting相关代码 surface flinger处理1008 code 在开发者选项中,有许多关于图形的debug选项,今天研究之下,加深了对binder的使用。下面以关闭HW oveylays为例,也就是强制使用GLES去对图层进行合成,而不使用oveylays。 setting相关代码...
  • lewif
  • lewif
  • 2016-02-22 17:18
  • 1887

开发者选项 Disable HW overlays -> 分析

1.Disable HW overlays 1../packages/apps/Settings/src/com/android/settings/DevelopmentSettings.java setting得到SurfaceFlinger服务,通过binder发命令。 pri...
  • wh_19910525
  • wh_19910525
  • 2014-09-03 11:27
  • 3191

Android产品研发(十六)-->开发者选项

本文主要介绍Android开发中常常涉及到但又不是被人重视知识点:开发者选项。主要涉及到如何打开开发者模式,开发者选项中有哪些操作菜单以及各自的作用,如何清除手机数据,清除手机数据具体清除那些数据等等
  • qq_23547831
  • qq_23547831
  • 2016-07-02 21:35
  • 12137

android 开发者选项

默认User版本没有“开发者选项”,我们可以通过点击版本号7次来显示开发者模式,今天来看下代码中是如何处理的: 首先是 ackages/apps/Settings/src/com/android/settings/Settings.java的初始化处理: 布尔值showDev是否默...
  • BENKG
  • BENKG
  • 2015-08-07 20:51
  • 1855

[RK3288][Android6.0] 调试笔记 --- user版本默认显示开发者选项

Platform: ROCKCHIP OS: Android 6.0 Kernel: 3.10.92 默认user版本不显示开发者选项这一栏,需要通过连续点击版本号7次来显示. packages\apps\Settings\src\com\android\settings\DeviceInfo...
  • kris_fei
  • kris_fei
  • 2017-04-13 13:23
  • 1124

Android判断是否已经开启开发者调试模式以及引导用户去开启相应设置

大家都是有经验的开发人员,直接撸码: 判断当前是否已经开启开发者调试模式: boolean enableAdb = (Settings.Secure.getInt(getContentResolver(), Settings.Secure.ADB_ENABLED, 0) > 0); if...
  • fang323619
  • fang323619
  • 2017-07-13 14:22
  • 1125

Android系统移植与调试之------->如何修改Android系统默认显示【开发者选项】并默认打开【USB调试】和【未知来源】开关

今天有个用户对【设置】有个特殊的要求,即:1、开机的时候默认显示【开发者选项】并打开【USB调试】开关    (【Developer options】-->【USB debugging】)2、开机的时候默认打开【安全】-->【未知来源】的开关 &#...
  • qq446282412
  • qq446282412
  • 2015-11-13 14:45
  • 8220

Android Settings和SettingsProvider源码分析与修改

习惯了,看源码从AndroidManifest文件看起,先对工程有个大致的认识。 Settings也是经常需要改动的部分之一,包名:com.android.settings,工程名:Settings,代码量也不小,慢慢啃。
  • zhoumushui
  • zhoumushui
  • 2014-10-13 20:16
  • 16003

Android 设置 Setting --->开发者选项 中选项为默认配置

在调试Android4.2.2   10.1寸LCD驱动时无意发现4.2.2有闪屏的bug(其实也不能称它为bug,个人认为应该是系统两种不同的图像混叠策略导致在不同硬件平台优化不匹配)。      现象:在开启应用程序或者在应用程序退出时,快速闪过HO...
  • bzw73
  • bzw73
  • 2014-08-03 00:52
  • 1507

Unity3D 杂碎

用UNITY开发手机游戏,背景图片和UI图片显示的比PC机上模糊很多,怎么解决?? 在unity里选中资源  1.TextureType 改成 Advanced 2.NonPower of 2 改成 non 3.把 generate Mip maps 的勾去掉 4.Format压...
  • he_wen_jian
  • he_wen_jian
  • 2014-04-23 15:33
  • 5309
    个人资料
    • 访问:1437140次
    • 积分:13107
    • 等级:
    • 排名:第1224名
    • 原创:166篇
    • 转载:136篇
    • 译文:0篇
    • 评论:441条
    关注我的微博
    公告板
    由于发现原创文章,在未署名作者及出处的情况下被转载。在以后所有的原创文章开头我都会写明作者和出处。希望朋友们以后在转载本博客原创博文时注意标明文章作者及出处。

    练武不练功,到老一场空

    欢迎大家加入LINUX讨论群 群号143898979
    博客专栏
    最新评论