web-dev-qa-db-ja.com

永続的なサービス

一部の人々は、永続的なサービスを作成すべきではないと考えていることを知っています。

しかし、知識を増やしたいと思っている私たちにとって、理論的にはどのようにして知識を作成するのでしょうか。

私は遊んでいて、 startForeground を使用するサービスがメモリ不足の状況で強制終了されることに気づきました。

現在非推奨のパーミッションPERSISTENT_ACTIVITY、しかしそれはあまり効果がありませんでした。

それで、秘密は何ですか?

16
ekawas

システムアプリを開発している場合にのみ、サービスを永続化できます。これらのサービスは基本的に強制終了できず、「adb Shelldumpsysactivity」コマンドの出力で「PERS」とラベル付けされます。あまり文書化されていないので、 Androidの永続サービス ...について簡単に説明しました。

ただし、システム以外のアプリの場合は、startForegroundが最適なオプションです。

47
Andrew