首先分析一下问题:
其实这个红框不是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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。