こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

JAVA(Android)複数のActivity

Mac用Eclipseを用いてアプリを制作しております。(始めて数週間の初心者です。)

Activityを2つ以上実装し、インテントで画面遷移するまでは良いのですが、画面遷移後に元のActivityの動作が停止(リセット)してしまいます。画面遷移後も元Activityをバックグラウンドで動作させる方法はありますでしょうか?

具体的には、元Activityでタイマーを使用し、使用したまま画面遷移を行い、またActivityに戻すとタイマーが0になってしまいます。

解決方法が御座いましたら回答宜しくお願い致します。

投稿日時 - 2014-10-25 00:33:35

QNo.8802098

すぐに回答ほしいです

質問者が選んだベストアンサー

Androidについては経験がないので違っているかも知れませんが・・・

http://www.javadrive.jp/android/activity/index2.html

上記ページでActivityのライフサイクルの説明をみるにこれはアプリケーションが起動してからずっと存在し続けることが保障されるものではなくAndroid OSの都合によりストップさせられることがあるとのことです。Androidアプリケーションも他のGUIシステムと同様、画面に関する処理は特定のスレッド(UIスレッドかな?)でのみ行われるようですのでおそらくはActivityというのはUIスレッドでのみ実行される前提であって複数のActivityを複数スレッドで並行して動かすということはAndroidのプログラミングモデルに適合しないと思えます。

故にバックグラウンドで行いたい処理があるのであれば独自にスレッドを起こしてそこで行うことになると思います。その際はそのスレッドではバックグラウンド処理だけしかやってはならず画面にアクセスするような処理はUIスレッドへの処理のキューイングを通じて行うような感じだと思います。

http://techbooster.org/android/application/934/

このページをみてそう思いました。

投稿日時 - 2014-10-27 12:28:30

お礼

返事が遅れてしまい、申し訳ありません。とても分かり易い解説有難う御座います。
参考にさせていただきたいと思います。

投稿日時 - 2014-11-01 01:08:09

ANo.1

このQ&Aは役に立ちましたか?

7人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問