長時間実行されている http 要求 (少なくとも 100 MB のデータであるファイルのアップロードの例) をキャンセルできる、より完全なライブラリを探しています。
キャンセル API を提供する Volley を見たことがありますが、コールバックを呼び出さず、実際に実行を停止しないように処理しているようです (これについては間違っている可能性があります)。
また、キャンセルできる将来のタスクを返すため、キャンセルを処理できると思われる ION https://github.com/koush/ionを見てきましたが、これが正しい選択であるかどうかはよくわかりません私の場合。リクエストを並行して実行するのではなく、順番に実行する必要があります。
私はまた、そのようなライブラリを自分で作成しました(https://github.com/darko1002001/android-rest-client)。これは長い間使用しており、うまく機能しています。私が持っていたいくつかのケースのリクエストと進行状況の更新のキャンセルですが、正直なところ、この要件に対して十分にクリーンまたは堅牢であるとは本当に感じていません.
私は通常、リクエストの実行にスレッドプールを使用しますが、長時間実行されるリクエストを単一のスレッドプールキューに移動して、他の短いリクエストがブロックされることなく実行されますが、長時間の操作は行われます。長時間実行されるリクエストを順次実行するために、自分でリクエストの実行を管理する必要がある場合は、回避策の方が良いと思います。
誰かがそのような機能を構築した経験を共有できますか? 何を使用するかについての提案/推奨事項はありますか?