0

こんにちは私は長い間実行されているAndroidアプリを持っています。インタラクティブなユーザーがいない特別な状況向けです。ユーザーがいないため、他のアプリは起動されていません。しかし、アプリのメインアクティビティが、停止、作成、再開などのライフサイクルを定期的に通過しているのを確認しています。実行中にログファイルを書き出しました。

2012.03.2805:31主なアクティビティが作成されました
2012.03.2805:31主な活動が始まりました
2012.03.2805:31主な活動が再開されました
2012.03.2805:59メインアクティビティが一時停止しました
2012.03.2805:59主なアクティビティが作成されました
2012.03.2805:59主な活動が始まりました
2012.03.2805:59主な活動が再開されました
2012.03.2805:59主な活動が停止しました
2012.03.2806:12メインアクティビティが一時停止しました
2012.03.2806:12主なアクティビティが作成されました
2012.03.2806:12主な活動が始まりました
2012.03.2806:12主な活動が再開されました
2012.03.2806:12主な活動が停止しました
2012.03.2806:33メインアクティビティが一時停止しました
2012.03.2806:33作成された主なアクティビティ
2012.03.2806:33主な活動が始まりました
2012.03.2806:33主な活動が再開されました
2012.03.2806:33主な活動が停止しました
2012.03.2808:08メインアクティビティが一時停止しました
2012.03.2808:08主なアクティビティが作成されました
2012.03.2808:08主な活動が始まりました
2012.03.2808:08主な活動が再開されました
2012.03.2808:08メインアクティビティが停止しました
..。

誰もが理由を知っていますか?ありがとう。

4

2 に答える 2

1

Androidは、ユーザーに表示されていないアプリケーションまたはコンポーネントを強制終了する権利を留保します(強制終了することもできますが、まれにしか発生しません)。ほとんどの場合、これはメモリ不足が原因であり、システムはアプリケーションを強制終了してリソースを解放します。

バックグラウンドで実行される長時間実行プロセスがあり、それを継続的に実行する必要がある場合、最善の策は、それをフォアグラウンドサービスにすることです。これにより、サービスの優先度がバックグラウンドサービスよりも高くなり、システムによる中断が少なくなります。

ただし、サービスをフォアグラウンドで実行する必要がない限り、通常は正当な理由でサービスが強制終了されるため、システムによる破棄と構築を適切に処理するようにサービスを実装する必要があります。サービスをフォアグラウンドに強制すると、デバイス全体のパフォーマンスが低下するリスクが高まる可能性があります。また、通知バーに永続的な通知が表示されるため、一部のユーザー(少なくとも私)は煩わしくなります。

于 2012-03-28T15:30:53.570 に答える
1

OS があなたのアクティビティを殺しているように聞こえます。あなたがすべきことは、代わりにそれをサービスとして実行することです。 http://developer.android.com/reference/android/app/Service.html

于 2012-03-28T15:12:14.727 に答える