2

私のアプリケーションには、バックグラウンドで長時間実行されるAsyncTaskがあります。問題は、メモリが少ない状況でVMによって強制終了されることです。アプリケーションの優先度を高くして、強制終了が困難になる方法はありますか?代わりにサービスを使用する必要がありますか?私の唯一の目標は殺害を困難にすることです。アドバイスやガイダンスをいただければ幸いです。ありがとうございます。

4

3 に答える 3

1

startForeground()少し抵抗力のあるサービスと使用をお勧めします。ただし、それでもメモリ不足で停止する可能性があります。

于 2012-12-03T15:18:56.470 に答える
1

いいえ、そうでなければ誰もがこれを悪用するので、ありません。OSがあなたのサービスを殺すなら、それはこれの理由を得ました。条件が許せば、サービスが適格である場合、Androidがそうするだろうと判断した場合、サービスは再開されます。

于 2012-12-03T15:31:45.853 に答える
0

サービスが強制終了された場合、リソースが許すとすぐにシステムによって再起動されます。

したがって、それをサービス(音楽の再生など、明らかにユーザー指向のことを行わない場合は、フォアグラウンドサービスであってはなりません)にしますが、その状態(onMemoryLow()およびonDestroy()メソッド)を保存できるサービスにします。したがって、再起動後、ユーザーが賢明でなくてもプロセスを再開できます。

于 2012-12-03T15:26:21.653 に答える