アンドロイドアプリケーションでのローテーションの処理について多くのことを読んでいますが、まだまだ多くの質問があり、理解する必要があります。サーバリクエストとデバイスローテーションの処理
ここで私のアプリケーションで使用している問題または実装について説明します。
アクティビティが開かれた場合、取得要求がサーバーに送信されます。このリクエストはスレッド(新しいスレッド(...))で実行され、リクエストが完了するとアクティビティのuiがリフレッシュされます。
しかし、ユーザーが端末を回転させるとどうなりますか?
デフォルトでは、アクティビティは破棄され、要求は再び開始され、新しいスレッドが開始されますが、破棄されたアクティビティのスレッドはまだ実行されている可能性があります。
私はこれがかなり間違った方法だと思っています。
しかし、これを処理するにはどのような方法が最適ですか?
おそらくローテーションを禁止する最良の方法ですが、もし私がそれを望んでいないのなら、どうしたらいいでしょうか?
私はvideo form Google IOを見た:
は、それは私の質問の後半部分ですおそれ。 Dobjanschi氏は、サービスを利用し、取得したデータをコンテンツプロバイダに格納することを提案しました。だから、おそらく私の要求を実行するためのサービスを使用することができます。しかし、取得要求が完了するたびにデータを置き換える必要がありますか?私はそれらについて読んだことがあるが、本当にそれらをまだ実装していない
:
スレッドは静的でなければならないのですか?アプリケーション内またはアクティビティ内の静的? ...静的ではないですか? – Tima
@Mur Votema:これは、生のスレッドではなくAsyncTaskを使用していますが、このパターンについてさらに詳しく解説していますので、ここでは質問と回答です。http:// stackoverflow。com/questions/3821423/background-task-progress-dialog-orientation-change-there-any-100-working – CommonsWare
あなたのアイデアに感謝します。別のトピックのMarkの答えは、ユーザが空白の画面を回転させた場合、ダウンロードスレッドを再起動するフル解決策 – Tima