メインアクティビティを再開した後にスレッドを強制終了しますか?
-
28-10-2019 - |
質問
Androidでこの問題が発生します。これでスレッドを呼び出すメインアクティビティがあります ジェネラコディセタグプレ
MainActivityでパブリックブール値を強制終了します。 スレッドを保存して、アクティビティを再開してもスレッドを強制終了できるようにするにはどうすればよいですか?
解決
このソリューションが提案します。
ただし、本当にThread
でそれを続けたい場合は、Thread
から新しいクラスを拡張し、killMe()
というメソッドを追加することをお勧めします。これにより、(現在は private )ブール値のkill
フラグが変更されます。次に、onRetainNonConfigurationInstance()
で、このThread
を返すことができ、onResume
で再度取得できます。戻ってアクティビティが強制終了されていない場合は問題ありません。既存のkillMe()
でThread
を呼び出すだけです。
例: ジェネラコディセタグプレ
他のヒント
履歴書のスレッドを強制終了するのはなぜですか?
再開部分でスレッドを開始し、finallyブロックに入れて、connect()
が中断されたという事実を処理します。その後、再開したら、再接続して操作を実行するだけです。
モバイルデバイスの場合、最善の策は、現在の永続ストレージにチェックマークを付けることです。これにより、中断された場合でも、Activity
が再開されたときに続行できます。
中断される可能性が高いので、設計してください。
スレッドはOSによって強制終了される可能性があるため、後で保存して強制終了するものはありません。
本当にこのようなことをする必要がある場合は、RemoteService
を開始します。これは、Activity
とは異なるプロセスで実行され、そのまま残る可能性が高いためです。
この質問をご覧ください: