1

私の Android アプリケーションはいくつかの計算を行っていますが、アプリケーションから離れた場所に移動すると、実行中で作業を行っていたスレッドが停止することに最近気付きました。これは、電話がスタンバイ モードになった場合、またはユーザーが電話をロックした場合にも発生します。

ユーザーがアプリケーションから離れたり、電話をロックしたり(または電話がスタンバイモードになった場合)でも、アプリケーションを引き続き動作させたいと考えています。

すべてのアクティビティ ライフサイクル メソッドを使用していますが、ユーザーが実際に携帯電話の物理ボタンの [戻る] を押すか、アプリのメニューから [終了] を押さない限り、何も破棄しません。

計算を行うスレッドは独自のパブリック メソッドにありますが、ボタン ハンドラの onclick メソッドから呼び出されます。このハンドラーと、ほとんどすべてのハンドラーが onCreate メソッドで定義されています。

4

2 に答える 2

2

デバイスActivityの画面がオフになると一時停止されます (画面がオンになると再開されます)。

Service代わりにで作業を行うことを検討してください。IntentServiceは、別のスレッドを作成し、作業要求を一度に 1 つずつ処理し、行う作業がなくなったときにクリーンアップするため、これを行うための比較的簡単な方法の 1 つです。

于 2012-08-31T23:11:55.290 に答える
0

あなたが求めているのは、一般的に「バックグラウンドで実行中」と呼ばれるものです。これを行う 1 つの方法はサービスです (チュートリアルはこちら)。

于 2012-08-31T23:12:52.193 に答える