2

Android ドキュメントを読みました - http://developer.android.com/guide/topics/media/mediaplayer.html

「..ユーザーが他のアプリケーションと対話している間も再生を続けたい場合は、サービスを開始し、そこから MediaPlayer インスタンスを制御する必要があります。」

しかし、アクティビティからローカルの音楽ファイルを開始し、そのアクティビティを終了すると (たとえば、HOME キーを押して別のアプリと対話する)、音楽が再生され続けることがわかりました。

そのため、「ドキュメントの「サービスを開始する必要がある」がわかりません。何か見逃しましたか?

現時点では、これは私のアプリにとって大きな障害ではありませんでした。Service を使用しない場合に起こりうる潜在的な問題は何だろうと思っています。

私たちの開発は Android 2.2 に基づいています。

事前に助けてくれてありがとう。

4

3 に答える 3

2

大きな理由として、サービスを使用していない場合、アクティビティが一時停止または終了すると、ユーザーはアプリの外で音楽を聴くことができなくなります。技術的には音楽アプリを作成できますが、別のアプリがフォアグラウンドにあるとき、または電話が別の状態 (ロックされている) のときにユーザーが音楽を聴くことができない場合、非常に優れたアプリにはなりません。プロセスをより深く理解するには、アクティビティのライフサイクルを確認する必要があります。この動作は、電力、メモリ、および CPU サイクルを節約するための設計によるものであることに注意してください。

より伝統的なデスクトップ開発の使用法でサービスを考えないようにすることも役立ちます。あなたは、あなたの活動が活発でないときでも、このことを生き続けたいと思っています.

アクティビティのライフサイクルの詳細アクティビティのライフサイクルの管理

方法 http://www.androidcompetencycenter.com/2009/01/basics-of-android-part-iii-android-services/

バックグラウンド タスクにサービスを使用することが重要なのはなぜ ですか?

于 2012-06-18T18:59:48.940 に答える
2

今のところ、アクティビティで音楽を再生しても問題ないかもしれませんが、Android のリソースが不足すると、アクティビティを強制終了しようとする可能性があります。アプリにサービスを追加すると、特定の条件 (音楽の再生など) に該当する場合、Android はそのプロセスをできるだけ長く維持しようとします。サービスのプロセス ライフサイクル セクションを読んでください。

http://developer.android.com/reference/android/app/Service.html#ProcessLifecycle

于 2012-06-18T19:00:28.307 に答える
1

アクティビティは Android またはユーザーによって強制終了される可能性があり、音楽の再生が停止します。

于 2012-06-18T18:50:38.750 に答える