我已經通過代碼啓用StrictMode
我的應用程序的Android StrictModeDiskReadViolation:當應用程序啓動時
public void onCreate() {
setStrictMode();
super.onCreate();
}
private void setStrictMode() {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectAll()
.penaltyLog()
.penaltyDeath()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectAll()
.penaltyLog()
.build());
}
我發現了一個崩潰時啓動下面的日誌:
StrictMode違反政策; 〜duration:0 ms:android.os.StrictMode $ StrictModeDiskReadViolation:policy = 95 violation = 2 at android.os.StrictMode $ AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1137) at libcore.io.BlockGuardOs.open(BlockGuardOs。 java:182) at libcore.io.IoBridge.open(IoBridge.java:442) at java.io.FileInputStream。(FileInputStream.java:76) at android.graphics.Typeface.getFullFlipFont(Typeface.java:582 ) at android.graphics.Typeface.getFontPathFlipFont(Typeface.java:530) at android.graphics.Typeface.SetFlipFonts(Typeface.java:717) at android.graphics.Typeface.SetAppTypeFace(Typeface.java:844) at android.app.Application.onCreate(Application.java:108)
我覺得是一個io操作主線程違規,我的設備是samsung s6,android版本5.1.1,但是我找不到方法getFullFlipFont
任何地方,如果我禁用strictmode它會沒事的,io違規發生在哪裏?