アプリがバックグラウンドになった場合、このアプリを実行していた UI スレッドはどうなりますか?
眠るか殺されるか?
アプリがフォアグラウンドに戻ると、同じスレッドに通知されますか、それとも新しいスレッドが作成されてアプリ インスタンスに関連付けられますか?
アプリがバックグラウンドになった場合、このアプリを実行していた UI スレッドはどうなりますか?
眠るか殺されるか?
アプリがフォアグラウンドに戻ると、同じスレッドに通知されますか、それとも新しいスレッドが作成されてアプリ インスタンスに関連付けられますか?
具体的にはわかりませんが、アクティビティがフォアグラウンドにないときはいつでもアクティビティが殺される可能性があることを常に考慮してプログラムする必要があります。バックグラウンドに入るたびにスレッドを強制終了するか、スレッドをスリープ状態にしてからアクティビティが強制終了された場合にスレッドを強制終了するかはわかりません。いずれにせよ、それが起こる可能性があり、起こると想定し、それに応じてプログラムする必要があります。
メモリ状況によります。アプリケーションがバックグラウンドに移行しても、通常は最初は実行されたままです。Android はスレッドをスリープしません。UI の更新と での計算の実行を停止するのは、あなた次第ですonPause
。
ただし、メモリ不足の状況では、Android がバックグラウンドのときにアプリケーションを強制終了する可能性があります (特に、あなたがうまくやっておらず、大量のリソースを使い果たしている場合)。このため、永続的なデータは常に に保存する必要がありますonPause
。