欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2024-02-10 10:38:40
首先分析一下问题: 其实这个红框不是android的bug,把编译模式从eng改成user就可以了,红框只是eng模式debug的时候提示你系统busy,红框越久说明你的...

首先分析一下问题:

其实这个红框不是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屏幕四周闪现红框的问题,希望对大家有所帮助