首先分析一下问题:
其实这个红框不是android/212160.html">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。
以上所述是小编给大家介绍的解决Android屏幕四周闪现红框的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对ASPKU网站的支持!
注:相关教程知识阅读请移步到Android开发频道。