OK http cancel()によるCrash NetworkOnMainThreadExcepti
714 ワード
okhttpの2.6.0バージョン
httpリンクインタフェースを使用するとcancel()を実行するとcrashの適用が開始されます
一時的な解決策はcancel()をbackgroundスレッドに置いて実行することです
httpリンクインタフェースを使用するとcancel()を実行するとcrashの適用が開始されます
一時的な解決策はcancel()をbackgroundスレッドに置いて実行することです
okHttpClient.getDispatcher().getExecutorService().execute(new CancelRunnable
(requestTag, okHttpClient));
public class CancelRunnable implements Runnable {
Object requestTag;
OkHttpClient okHttpClient;
public CancelRunnable(Object requestTag, OkHttpClient okHttpClient) {
this.requestTag = requestTag;
this.okHttpClient = okHttpClient;
}
@Override
public void run() {
if (okHttpClient != null && requestTag != null) {
okHttpClient.cancel(requestTag);
}
}
}