こんにちは、バックエンド操作を実行するために永久に実行される Android のメイン スレッドにスレッドを作成しました。では、このスレッドはどのくらいの期間実行されますか? アクティビティの「onCreate」メソッドで作成されています。Androidはしばらくしてからそのようなスレッドを自動的に強制終了しますか、それとも手動で強制終了するまで実行しますか? または、別のアプリに切り替えると自動的に強制終了されますか?
2 に答える
android アクティビティのライフサイクルを知っていることを願っています。Android は長期間使用されていないプロセスを終了します。はい、バックグラウンドにある場合、しばらくすると殺されます。ユーザーがアプリから移動すると、アプリ内のアクティビティ インスタンスはライフサイクルのさまざまな状態に変化します。別のアクティビティを開始するか、別のアプリに切り替えると、Android は別のライフサイクル メソッドを呼び出します。つまりonPause
、アクティビティがバックグラウンドに移行するときに、そのアクティビティに対して呼び出されます。
アクティビティがしばらく非表示のままである場合、アクティビティは自動的に終了します。手動で終了する必要はありません。それはアンドロイドについて素晴らしいことではありませんか?
こんにちは、バックエンド操作を実行するために永久に実行される Android のメイン スレッドにスレッドを作成しました。では、このスレッドはどのくらいの期間実行されますか?
永遠に実行されるものはありません。さえありませんService
。十分に長い時間実行されるものはすべて、Android によって殺される可能性があります。
を使用し、およびを使用AlarmManager
してタスクをスケジュールします。はX 秒 / 分ごとにサービスを呼び出します。IntentService
BroadcastReceiver
AlarmManager
Android での定期的なタスクのスケジューリングに関する質問に関連するこれを見てください - Androidでの定期的なタスクのスケジューリング