去掉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);
        }
        //mStrictModeFlash.setVisibility(on);
} 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。


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值