在调试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系统的默认设置例如:600000设置关屏超时时间的默认值102设置亮度的默认值false设置是否允许安装非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 开发者模式,Android 设置 Setting ---开发者选项 中选项为默认配置相关推荐

  1. Chromebook开发者模式Linux,Chromebook 的开发者模式和开发者版本有什么区别?

    如果你刚开始使用 Chromebook,会发现有开发者模式和 Chrome OS 的开发者版本两个不同的说法.你一定会好奇它们是不是一个意思,实际上,并不是. 什么是开发者模式(Developer M ...

  2. android 省电模式,android省电模式设置

    关于android省电模式设置技巧大全 一.屏幕显示 降低屏幕的亮度,可以有效的节省电能,尤其是摩托罗拉产的Android手机目前为止均为TFT屏幕,同时自动锁屏幕的时间设置的短一些也会带来一些电量的 ...

  3. android自动夜间模式,Android实现日夜间模式的深入理解

    在本篇文章中给出了三种实现日间/夜间模式切换的方案,三种方案综合起来可能导致文章的篇幅过长,请耐心阅读. 1.使用 setTheme的方法让 Activity重新设置主题: 2.设置 Android ...

  4. android 适合mvp模式,Android中的MVP:如何使Presenter层系统化?

    MVP(Model View Presenter)模式是著名的 MVC(Model View Controller)的衍生物,并且是 Android 应用程序中管理表示层的***的模式之一. 这篇文章 ...

  5. android官方夜间模式,Android实现夜间模式的方法(一)

    版权声明:本文为博主原创文章,未经博主允许不得转载. 最近整理了几篇在乐视实习时写的文章,都是一些简单的技术调研,Android夜间模式是当时做技术分享的内容,供大家参考,欢迎一起讨论~ 一.夜间模式 ...

  6. 怎么用计算机打开开发者模式,win10如何打开开发者选项模式

    我们的win10系统中自带有开发者选项模式,该模式为Win10技术预览版开发此风格应用你需要开启"开发者模式",开启之后,在将应用提交给微软进行测试和认证前,你可以先在本地计算机上 ...

  7. android系统recovery模式,Android系统Recovery模式中文详细说明

    Recovery具体功能: 1.刷系统:新下载好的rom,,直接放sd卡上刷(进nand),,无需windows! 2.像电脑的ghost,,允许用户随意将系统和里面的个人资料备份成一个文件,,并允许 ...

  8. android menu夜间模式,Android常用技巧夜间模式开发浅析

    前言 Android的夜间模式主要主用于阅读方面,在QQ,微信读书,新闻阅读类一般会有相应的功能,本文主要介绍整体APP的夜间模式以及webview中夜间模式的实现. 效果图展示 功能实现简介 APP ...

  9. android 自动静音模式,Android实现定时自动静音小助手

    定时静音助手的实现方法,供大家参考,具体内容如下 背景 突发奇想,刚好这学期刚上安卓课程,想设计一个时间助手.工作.学习中经常会被突如其来的电话所打扰,在上班,上课时这突如其来的铃声会惹来别人的反感, ...

  10. android自动夜间模式,Android 夜间模式初探

    当下各种阅读类APP(如各种浏览器,某日头条等)都会有夜间模式,也顺应了大家的睡前必须玩一下手机的作息习惯.关于夜间模式的实现,有很多种方法.这篇日志学习一下最简单的实现方式,通过setTheme(i ...

最新文章

  1. 算法的性能评价------空间复杂度和时间复杂度
  2. 如何提高英文的科研写作能力--施一公教授
  3. SAP新总账 凭证分割
  4. Ubuntu ORTP 编译及安装
  5. hdfs web_ui深入讲解、服务启动日志分析、NN SNN关系
  6. 接口测试之基础篇--http协议
  7. [转].NET 开源项目 Polly 介绍
  8. 2019/7/19 Bootstap练习
  9. Java中对List集合api展示
  10. Android9.0 HIDL头文件加log编译
  11. linux寻找依赖文件
  12. oracle数据库英语,Oracle的数据库管理功能的学习英语
  13. 开源无人机如何实现空对地框选撞击?
  14. 画质速度通吃 浅谈为游戏而生的SM3技术(Dx9的一些技术) -ok
  15. Win11蓝牙耳机已连接电脑仍外放怎么解决
  16. vue+element表格 苹果自带浏览器兼容问题
  17. 服务器开机风扇转但无显示,电脑开机主机风扇在转,显示器却显示无信号是怎么回事?...
  18. 数据分析--模型建立和评估
  19. ubuntu桌面被删除或home文件跑到桌面问题
  20. Mac Office启动报错:隐藏模块中出现编译错误:link

热门文章

  1. ei指什么_SCI、EI、SSCI、CSSCI分别是指什么
  2. 你想要的短视频音效都在这里!最火爆最热门音效!
  3. 海康SDK语音转发实现(ubuntu)
  4. kux文件怎么打开 苹果手机如何观看kux视频
  5. JS中的正则表达式(一)
  6. 沪江快速手机打字软件下载
  7. pic12f1823单片机入门_PIC单片机:如何建立PICKit3程序编写电路
  8. 6.5一些keil编程错误总结
  9. MFC控件内字体大小随控件改变
  10. CSS单行文本溢出时显示省略号