私はDev ConsoleでANRエラーの下でこれを報告しています。長いSQL問合せでANRを停止するには、私のサービスでonSignalStrengthsChanged
のワーカースレッドを起動する必要がありますか?ANRエラー - > ANR keyDispatchingTimedOut
私はこれがmutexロックかどうかを知ることはできませんが、dbにはContentProvider
でしかアクセスしません。
これは長いクエリまたはmutexロックANRのANRですか?
のDalvikスレッド:(ミューテックス:TLL = 0 TSL = 0 TSCL = 0 GHL = 0 HWL = 0 hwll = 0)= 1 NATIVE "メイン" PRIO = 5 TID |グループ= "main" sCount = 1 dsCount = 0 obj = 0x4002a278 self = 0xcf50 | sysTid = 9149素敵= 0 schedの= 0/0
at android.database.sqlite.SQLiteStatement.native_execute(Native Method)
at android.database.sqlite.SQLiteStatement.execute(SQLiteStatement.java:61)
at android.database.sqlite.SQLiteDatabase.insertWithOnConflict(SQLiteDatabase.java:1582)
at android.database.sqlite.SQLiteDatabase.insert(SQLiteDatabase.java:1426)
at kenyu73.realsignal.DatabaseProvider.insert(DatabaseProvider.java:55)
at android.content.ContentProvider$Transport.insert(ContentProvider.java:198)
at android.content.ContentResolver.insert(ContentResolver.java:618)
at kenyu73.realsignal.DatabaseWrapper.insert(DatabaseWrapper.java:189)
at kenyu73.realsignal.SignalStats.updateDbStats(SignalStats.java:154)
at kenyu73.realsignal.SignalStats.updateSignalStats(SignalStats.java:116)
at kenyu73.realsignal.RealSignalService$2.onSignalStrengthsChanged(RealSignalService.java:156)
at android.telephony.PhoneStateListener$2.handleMessage(PhoneStateListener.java:329)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:130)
at android.app.ActivityThread.main(ActivityThread.java:3695)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:507)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:842)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
at dalvik.system.NativeStart.main(Native Method)