首先分析一下問題:
其實這個紅框不是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屏幕四周閃現紅框的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
新聞熱點
疑難解答