注: 一部のバックグラウンドの保存オペレーションについては、ユーザーが画面から離れた後も続行することをおすすめします。こうした保存をライフサイクルなしで実行することは合理的です。他のほとんどの場合は、viewModelScope が合理的な選択です。
注: Room では独自のディスパッチャを使って、バックグラウンド スレッドでクエリを実行します。デベロッパーのコードでは withContext(Dispatchers.IO) を使って中断の原因となる Room のクエリを呼び出さないようにする必要があります。コードが複雑になり、クエリの実行速度が遅くなります。
件名: 🐞 - 並べ替え順が正しくありません レポート: 並べ替えボタンを何度も素早く押したときに、並べ替えが正しく行われないことがあります。この問題は毎回発生するわけではありません。🙃
重要: このコードは、タップに応じてボタンがすぐに無効化されるという、メインスレッド上で開始することの大きな利点を示しています。ディスパッチャを切り替える場合、低速のスマートフォンでユーザーが素早く何度もタップすると、複数回のタップが送信される可能性があります。
重要: 関連のない呼び出し元同士がお互いをキャンセルすることはできないため、このパターンはグローバル シングルトンでの使用には適していません。