私のアプリケーションは、メインアクティビティ - >アクティビティ1 - >アクティビティ2であり、いくつかのダウンロード作業を行っている別のワーカースレッドがあります。そして、彼らは同じプロセスの中で始まります。アプリケーションのライフサイクル:プロセスが終了したときにクリーンなジョブを実行するにはどうすればよいですか?
すべてのアクティビティが破棄されるか、プロセスが終了するまで、ダウンロードスレッドは終了しません。 Javaでは、非常に簡単です。メインメソッドにクリーンなコードを追加することで問題ありません。しかし、私はAndroidで何が正しいのか分からない。すべてのアクティビティはシステムによってリサイクルされる可能性があるので、私はワーカースレッドのクリーンコードをどこに置くべきかわかりません。また、アプリケーション全体のエンドポイントは何か分かりません。
誰か私にいくつかのアイデアを教えてください。ありがとう。
アンドロイド2.1では、Application.onTerminate()が動作していないようです。ワーカースレッド(またはサービス)の参照カウントを追加するだけの選択肢があります。参照カウントが0に減少すると、ワーカースレッドを終了します。 – loopscn
私はアンドロイドアプリケーションを終了することによって私が混乱していたことがわかりました。私はワーカースレッドをサービスに変更することに決めました。これは、onDestroyメソッドにクリーンなコードを置きます。明示的にメニューコマンドを追加して、PCのGUIプログラムと同様にアプリケーション全体を終了します。それらを助けてくれてありがとう。 – loopscn