後藤 浩昭(GORRY)です。
> Nexus7にて画面右下のメニューからフリックでアプリケーションを終了可能になったようです。
> そのメニューから終了させられるとアプリケーションのライフサイクルを無視してプロセスが殺されてしまっているようです。
> 自作のアプリにリソースを回収する処理を入れたいのですが、Nexus7の場合の良い回収方法をご存知の方はいらっしゃいますか。
Nexus7でなくても、さらにいえばAndroidのずっと昔のバージョンから、
以下のときには、ライフサイクルが無視されます。
・タスクマネージャなどからアプリが強制終了させられるとき
・バックグラウンドに回ったアプリがメモリ不足などで終了させられるとき
終了時にリソース回収が保証できないのであれば、次回起動時にリソース回収が
保証されるようにすればよいかと思います。
SharedPreferenceなどで「起動中フラグ」を用意し、以下のように制御します。
・onCreate()の最初で、まず「起動中フラグ」を確認する。
「起動中フラグ」が立ったままなら、前回終了時にリソース回収が
行われなかったものとして、リソース回収処理をする。
・「起動中フラグ」を立て、アプリ本来の実行作業に入る。
・onDestroy()の最後で、リソース回収処理後に「起動中フラグ」を下ろす。
--
Hiroaki GOTO as "GORRY" : 後藤 浩昭
EMAIL:
gorr...@gmail.com