私は HockeyApp を使用して、内部テスターからのクラッシュの問題をキャッチしました。このトレースを含む単一のクラッシュ レポートが届きました。
java.lang.IllegalThreadStateException: Thread already started
at java.lang.Thread.checkNotStarted(Thread.java:849)
at java.lang.Thread.start(Thread.java:1059)
at com.myapp.service.ApiService.connect(ApiService.java:258)
at com.myapp.service.ApiService.connect(ApiService.java:250)
at com.myapp.service.ApiService.connectForRecord(ApiService.java:748)
at com.fmyapp.service.ApiService.connectForRecord(ApiService.java:733)
at com.myapp.service.ApiService.getOxiChekList(ApiService.java:703)
at com.myapp.service.ApiService.access$1200(ApiService.java:35)
at com.myapp.service.ApiService$1.run(ApiService.java:420)
at java.lang.Thread.run(Thread.java:818)
SO を見た後、スレッドが終了した後にコードが onStart() を呼び出していることが問題のようです。ただし、私のサービスで onStart() を呼び出す唯一のコードは以下のとおりです。新しいスレッドが作成された後に開始されることに注意してください。これは一度しか発生していないため、再現手順についてはわかりませんが、何が原因であるかを他の誰かが知っているかどうか知りたいです.
256 ~ 260 行目 (258 行目でクラッシュ)
private void connect(ApiMethod apiMethod, Token authToken, long apiRefKey, String[] urlParams, Object... params) {
mConnectThread = new ConnectThread(apiMethod, authToken, apiRefKey, urlParams, params);
mConnectThread.start();
mIsRunning = true;
}