application.onlowmemory()Invloked
-
26-10-2019 - |
質問
自分のアプリケーションクラスを作成しました。
私はそれをデバッグしようとします、そして、コードはapplication.oncreate()で停止しますが、onlowmemoryで停止しません。
シナリオをテストするために、他の多くの高メモリアプリケーションを開きます。
私が見ているのは、デバッグセッションが終了したこと(日食で)と私の静的変数のいくつかがnullに変わったことです - プロセスが終了したことを示しています。
デバッグはメソッドのブレークポイントを停止しなかっただけでなく、log.e(...)ラインを置いただけでなく、それも表示されません。
方法が呼び出されなかった理由についての考えはありますか?
ありがとう。
解決
この方法が呼ばれるという保証はないと思います。
から ドキュメント:
これが呼び出される正確なポイントは定義されていませんが、一般に、すべてのバックグラウンドプロセスが殺された頃に発生します。つまり、殺害を避けたいと思うサービスと前景UIを殺すポイントに到達する前です。
それが呼ばれるポイントは定義されていないので、それを決して呼ばないことを選択できます。
一般に、Androidは、バックグラウンドにある限り、いつでもいつでもアプリケーションを自由に殺すことができます。必要なクリーンアップを行うために呼び出されることが保証されていると具体的に述べているライフサイクル(OnPause、Onstop、Ondestroyなど)の方法にのみ依存する必要があります。
所属していません StackOverflow