1. ホーム
  2. コトリン

[解決済み】「不適切なブロッキングメソッドの呼び出し」を適切にする方法は?

2022-04-10 06:37:36

質問

現在、kotlinのコルーチンをもっと活用しようと思っています。しかし、問題に直面しています。これらのコルーチン内でmoshiまたはokhttpを使用すると、警告が表示されます。

不適切なブロッキング・メソッド呼び出しです。

これらを修正する最善の方法は何でしょうか?私は本当に不適切なことをしたくない;-)

解決方法は?

警告は、現在のスレッドをブロックするメソッドに関するもので、コルーチンを適切に中断することができません。この方法では、コルーチンのすべての利点を失い、再びスレッドごとに1つのジョブにダウングレードすることになります。

それぞれのケースに応じた対処が必要です。サスペンド可能な http コールの場合は ktor http クライアント . しかし、あなたのケースに対応するライブラリがない場合もあるので、自分で解決策を書くか、この警告を無視するかのどちらかです。

編集する withContext(Dispatchers.IO) を使用するか、または何らかのカスタムディスパッチャを使用して問題を回避することができます。コメントありがとうございました。