2012年1月13日金曜日

[Android]Application#onTerminateはよばれない?

先日、隣の人に、Application#onTerminateっていつ呼ばれるんですか?って聞かれたので、「メモリ不足のときとかじゃない?」って適当に答えてました。
まぁ、雰囲気的にonCreateと対と読み取れるので、勝手に思ってい込んでいた。というのもあります。

とはいえ、適当に答えるのもアレだし、ちょっと調べてみると、apiリファレンスに、以下のように記載されていました。一部抜粋。

「It will never be called on a production Android device」

雰囲気からいって、実機ではコールバックされない感じ?ということで、隣の人には、「あ、実機じゃ呼ばれないかもらしいよ。」…ってまたもや適当に解答。

しかし、アプリの終わるタイミングは取りたいことがあります。たとえば、AlermManagerの開放であったり、ひらっきっぱのSocketのクローズだったり。メモリ以外のリソースをちゃんとリリースしたですね。
やっぱそういう時は、メインのアクティビティのonDestroyになっちゃうんだろうか...。

0 件のコメント: