デバイスを横向きから縦向きに、またはその逆に変更すると、onCreate
メソッドが呼び出されることを知っています。それは私にとっていくつかの問題の原因となっています。
実行されるダウンロードを保持するデータベースがあるとします。DAO オブジェクトがこのデータをオブジェクトに変換し、Vector<DownloadTask>
. これは で発生しAsyncTask
ますdoInBackground()
。
onPostExecute
スプラッシュ スクリーンが新しいActivity
.
向きの変更を処理する必要がある場合を除いて、これまでのところすべて問題ありません。
スプラッシュ スクリーンの後の新しいアクティビティTimer
は、ダウンロードのスケジュールを担当する を開始します。これは で開始されonCreate
ます。DownloadTask
すべてが実装されているため、Runnable
スレッドです。
ダウンロードが終了したり突然停止したりすると、スレッドはこれをスケジューラに伝え、同時に実行されるスレッドの数を減らすことになっています。これは、同時ダウンロード数を制限するためです。
では、タイミングが正しい (または間違っている) 場合、向きの変更と糸の仕上げが一緒に並んだ場合、 Timer はどうなりますか? null になりますか?
向きが変わると、変数はデフォルト値にリセットされますか?
また、向きの変更を防ぐにはどうすればよいですか?? 一部のゲームのように