cuốn sách gpt4 ai đã làm

Chính sách Chế độ nghiêm ngặt của Android

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 10:51:57 28 4
mua khóa gpt4 Nike

Ứng dụng Android gặp phải một số vấn đề ANR nên tôi đã triển khai chính sách StrictMode. Chưa bao giờ sử dụng điều này trước đây nên hy vọng ai đó có thể giúp giải thích những điều sau:

Tại sao nhật ký lại hiển thị 2 vi phạm có vẻ giống nhau, ngoại trừ 4 dòng đầu tiên và thời lượng? Tại sao vẫn còn 2 vi phạm - điều này có nghĩa là mã đã được thực thi hai lần?

Cảm ơn vì sự giúp đỡ

08-15 14:24:14.314: DEBUG/StrictMode(767): Vi phạm chính sách StrictMode; ~duration=13876 ms: android.os.StrictMode$StrictModeDiskWriteViolation: Policy=17 vi phạm=1
tại android.os.StrictMode$AndroidBlockGuardPolicy.onWriteToDisk(StrictMode.java:732)
tại android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1791)
tại com.j256.ormlite.android.AndroidCompiledStatement.execSql(AndroidCompiledStatement.java:151)
tại com.j256.ormlite.android.AndroidCompiledStatement.runUpdate(AndroidCompiledStatement.java:70)
tại com.j256.ormlite.stmt.StatementExecutor.update(StatementExecutor.java:382)
tại com.j256.ormlite.dao.BaseDaoImpl.update(BaseDaoImpl.java:374)
tại conx.Repositories.JobRepository.update(JobRepository.java:381)
tại conx.Presenters.JobSchedulePresenter.onSave(JobSchedulePresenter.java:200)
tại conx.Activities.JobScheduleActivity.onSaveEvent(JobScheduleActivity.java:111)
tại conx.Activities.JobScheduleActivity.access$100(JobScheduleActivity.java:43)
tại conx.Activities.JobScheduleActivity$2.onChildClick(JobScheduleActivity.java:169)
tại android.widget.ExpandableListView.handleItemClick(ExpandableListView.java:588)
tại android.widget.ExpandableListView.performItemClick(ExpandableListView.java:527)
tại android.widget.AbsListView$PerformClick.run(AbsListView.java:1877)
tại android.os.Handler.handleCallback(Handler.java:587)
tại android.os.Handler.dispatchMessage(Handler.java:92)
tại android.os.Looper.loop(Looper.java:130)
tại android.app.ActivityThread.main(ActivityThread.java:3835)
tại java.lang.reflect.Method.invokeNative(Phương thức gốc)
tại java.lang.reflect.Method.invoke(Method.java:507)
tại com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
tại com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
tại dalvik.system.NativeStart.main(Phương pháp gốc)

08-15 14:24:14.314: DEBUG/StrictMode(767): Vi phạm chính sách StrictMode; ~duration=12086 ms: android.os.StrictMode$StrictModeDiskWriteViolation: Policy=17 vi phạm=1
tại android.os.StrictMode$AndroidBlockGuardPolicy.onWriteToDisk(StrictMode.java:732)
tại android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:52)
tại android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1809)
tại com.j256.ormlite.android.AndroidCompiledStatement.execSql(AndroidCompiledStatement.java:151)
tại com.j256.ormlite.android.AndroidCompiledStatement.runUpdate(AndroidCompiledStatement.java:70)
tại com.j256.ormlite.stmt.StatementExecutor.update(StatementExecutor.java:382)
tại com.j256.ormlite.dao.BaseDaoImpl.update(BaseDaoImpl.java:374)
tại conx.Repositories.JobRepository.update(JobRepository.java:381)
tại conx.Presenters.JobSchedulePresenter.onSave(JobSchedulePresenter.java:200)
tại conx.Activities.JobScheduleActivity.onSaveEvent(JobScheduleActivity.java:111)
tại conx.Activities.JobScheduleActivity.access$100(JobScheduleActivity.java:43)
tại conx.Activities.JobScheduleActivity$2.onChildClick(JobScheduleActivity.java:169)
tại android.widget.ExpandableListView.handleItemClick(ExpandableListView.java:588)
tại android.widget.ExpandableListView.performItemClick(ExpandableListView.java:527)
tại android.widget.AbsListView$PerformClick.run(AbsListView.java:1877)
tại android.os.Handler.handleCallback(Handler.java:587)
tại android.os.Handler.dispatchMessage(Handler.java:92)
tại android.os.Looper.loop(Looper.java:130)
tại android.app.ActivityThread.main(ActivityThread.java:3835)
tại java.lang.reflect.Method.invokeNative(Phương thức gốc)
tại java.lang.reflect.Method.invoke(Method.java:507)
tại com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
tại com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
tại dalvik.system.NativeStart.main(Phương pháp gốc)

câu trả lời hay nhất

Vi phạm StrictMode cho biết rằng bạn đang thực thi truy vấn SQLite trên chuỗi giao diện người dùng gây ra sự cố ANR.

Hãy thử thực hiện các tương tác với cơ sở dữ liệu trên một chuỗi riêng biệt, điều này sẽ ngăn chặn sự cố ANR và ngăn hiển thị các vi phạm StrictMode này.

Duyệt qua LogCat đầu ra, có vẻ như nó xảy ra lúc conx.Activities.JobScheduleActivity.onSaveEvent

Một số bài đọc hữu ích:

Về chiến lược StrictMode của Android, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/11963601/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress