[英]ProgressDialog not showing while uploading images into server with StrictMode.ThreadPolicy
[英]Simple Android project crashing by StrictMode ThreadPolicy violation, strictmode.DiskReadViolation
我創建了新的 Android 項目,一個空的活動項目並使用了 StrictMode 但由於 strictmode.DiskReadViolation 應用程序每次都崩潰
我在這里提出了類似問題的答案StrictMode disk read violation on empty activity's setContentView解決方案是即時運行,但我使用的是 Android studio 3.5.1 和即時運行替換為“應用更改”。
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
if (BuildConfig.DEBUG) {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork()
.penaltyLog()
.penaltyDeath()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.detectLeakedClosableObjects()
.penaltyLog()
.penaltyDeath()
.build());
}
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
}
}
這是我的 logcat,原因是:android.os.strictmode.DiskReadViolation
2019-10-08 00:05:20.821 16758-16758/com.example.myapplication D/StrictMode: StrictMode policy violation; ~duration=137 ms: android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1504)
at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:251)
at java.io.File.exists(File.java:820)
at android.app.ContextImpl.getDataDir(ContextImpl.java:2375)
at android.content.ContextWrapper.getDataDir(ContextWrapper.java:245)
at android.content.ContextWrapper.getDataDir(ContextWrapper.java:245)
at com.oppo.embryo.EmbryoApp.isDataAccessable(EmbryoApp.java:98)
at com.oppo.embryo.EmbryoApp.checkDecorLayout(EmbryoApp.java:122)
at com.android.internal.policy.DecorView.onResourcesLoaded(DecorView.java:2224)
at com.android.internal.policy.PhoneWindow.generateLayout(PhoneWindow.java:2770)
at com.android.internal.policy.PhoneWindow.installDecor(PhoneWindow.java:2877)
at com.android.internal.policy.PhoneWindow.getDecorView(PhoneWindow.java:2142)
at android.app.ActivityTransitionState.setEnterActivityOptions(ActivityTransitionState.java:160)
at android.app.Activity.performCreate(Activity.java:7323)
at android.app.Activity.performCreate(Activity.java:7306)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3118)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3289)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2012)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:227)
at android.app.ActivityThread.main(ActivityThread.java:7199)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:575)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:903)
2019-10-08 00:05:20.821 16758-16758/com.example.myapplication D/AndroidRuntime: Shutting down VM
2019-10-08 00:05:20.825 16758-16758/com.example.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.myapplication, PID: 16758
java.lang.RuntimeException: StrictMode ThreadPolicy violation
at android.os.StrictMode$AndroidBlockGuardPolicy.onThreadPolicyViolation(StrictMode.java:1705)
at android.os.StrictMode$AndroidBlockGuardPolicy.lambda$handleViolationWithTimingAttempt$0(StrictMode.java:1619)
at android.os.-$$Lambda$StrictMode$AndroidBlockGuardPolicy$9nBulCQKaMajrWr41SB7f7YRT1I.run(Unknown Source:6)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:227)
at android.app.ActivityThread.main(ActivityThread.java:7199)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:575)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:903)
Caused by: android.os.strictmode.DiskReadViolation
at android.os.StrictMode$AndroidBlockGuardPolicy.onReadFromDisk(StrictMode.java:1504)
at java.io.UnixFileSystem.checkAccess(UnixFileSystem.java:251)
at java.io.File.exists(File.java:820)
at android.app.ContextImpl.getDataDir(ContextImpl.java:2375)
at android.content.ContextWrapper.getDataDir(ContextWrapper.java:245)
at android.content.ContextWrapper.getDataDir(ContextWrapper.java:245)
at com.oppo.embryo.EmbryoApp.isDataAccessable(EmbryoApp.java:98)
at com.oppo.embryo.EmbryoApp.checkDecorLayout(EmbryoApp.java:122)
at com.android.internal.policy.DecorView.onResourcesLoaded(DecorView.java:2224)
at com.android.internal.policy.PhoneWindow.generateLayout(PhoneWindow.java:2770)
at com.android.internal.policy.PhoneWindow.installDecor(PhoneWindow.java:2877)
at com.android.internal.policy.PhoneWindow.getDecorView(PhoneWindow.java:2142)
at android.app.ActivityTransitionState.setEnterActivityOptions(ActivityTransitionState.java:160)
at android.app.Activity.performCreate(Activity.java:7323)
at android.app.Activity.performCreate(Activity.java:7306)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1272)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3118)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3289)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2012)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:227)
at android.app.ActivityThread.main(ActivityThread.java:7199)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:575)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:903)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.