-2

ユーザーがタスク マネージャーから直接強制終了しない限り、Lookout、JuiceDefender、MagicJack などのアプリが無期限にバックグラウンドで実行されるのを見てきました。(それでも、ジンジャーブレッドでは、設定の「ダウンロードしたアプリ」で実行されていたアプリケーションを参照し、「メモリのクリア」と「強制終了」。

これがどのように達成されるのだろうか?私のアプリでも同様のことをする必要がありますが、Android OS の自動タスク強制終了を回避する方法がわかりません.それが不可能だとは言わないでください。仕事。

4

5 に答える 5

1

これらのアプリはService、アクティビティが開始されたとき (つまり、onCreate()が呼び出されたとき) に起動していると思います。

アプリケーションが一時停止しても、 AServiceは実行を続けます。Serviceが起動したら、に戻ることができSTART_STICKYますonStartCommand

また、Android のメモリ キラーによって Service が強制終了されるのを防ぐために、 を呼び出して Service がユーザーにとって重要であることを指定できますstartForeground()。Android Developers の Web サイトには、次のように記載されています。

フォアグラウンド サービスは、ユーザーが積極的に認識しているものと見なされるサービスであるため、メモリが不足しているときにシステムが強制終了する候補にはなりません。

于 2013-04-01T20:27:01.930 に答える
0

サービスを開始する必要があります。サービスはバックグラウンドで実行され、アラートのプッシュに役立ちます。これに関するいくつかのリンク:

http://developer.android.com/guide/components/services.html http://www.vogella.com/articles/AndroidServices/article.html

于 2013-04-01T20:29:13.533 に答える
0

アプリを作成していますが、OnCreate() 内で次のスーパー関数を 1 つ以上使用する必要があります。

onDestroy()
onPause()
onResume()
onSaveInstanceState()

メモリからアプリを完全に閉じます。また、Activity.finish() メソッドも使用しないでください。通常、Android は、メモリが必要なときにアプリを閉じる際に非常にうまく機能します。これは、ポップ アウト オブ スタックと呼ばれ、非常に正当な理由がない限り、強制的にメモリに保持することはお勧めしません。それが役に立てば幸い。リクエストの詳細と例については、Android DOC Web サイトを確認することもできます。

于 2013-04-01T20:29:01.157 に答える
0

サービスの onStartCommand メソッドで「START_STICKY」を返します。

http://developer.android.com/guide/components/services.html

/トーマス

于 2013-04-01T20:32:26.910 に答える