解决Android屏幕四周闪现红框的问题

首先分析一下问题:

其实这个红框不是android的bug,把编译模式从eng改成user就可以了,红框只是eng模式debug的时候提示你系统busy,红框越久说明你的系统或应用运行卡顿越久,这个时候系统可能会挂掉,仅此而已!

下面详细说明一下完善方法:

方法一、直接编译成usr版本

如果你是在做系统移植的话,可以在android/build编译成usr版本,当然usr在开发的过程中权限问题比较多,编译出来的系统和eng权限上区别有点大,在开发其他应用软件时需要注意下。

方法二、修改framework层

注释掉framework/base/services/java/com/android/server/wm/WindowManagerService.java文件中的mStrictModeFlash.setVisibility(on)即可:

try { 
    // TODO(multi-display): support multiple displays 
    if (mStrictModeFlash == null) { 
        mStrictModeFlash = new StrictModeFlash(getDefaultDisplayContentLocked().getDisplay(), mFxSession); 
    } 
<span style="color:#cc0000;">    //mStrictModeFlash.setVisibility(on);</span> 
} finally { 
    Surface.closeTransaction(); 
    if (SHOW_LIGHT_TRANSACTIONS)  
        Slog.i(TAG,"<<< CLOSE TRANSACTION showStrictModeViolation"); 
} 

方法三、修改系统配置参数

可以直接通过命令,关掉显示:

setprop persist.sys.strictmode.visual 0    (针对android 3.0) 
setprop persist.sys.strictmode.disable 1    (针对android4.0) 

也可以直接修改/system/build.prop文件,添加如下两行重启即可:

persist.sys.strictmode.visual=0  
persist.sys.strictmode.disable=1 

感觉第三种是最方便的,并且不会改动android framework代码,毕竟是很多人血汗的积累,所以本人用的是最后一种方法,当然不管哪种方法,只要能解决就OK。

以上所述是小编给大家介绍的解决Android屏幕四周闪现红框的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。