0

アプリケーションを終了するときに、ログを維持しようとしています。私はこのコードを使用しました:

public void onDestroy() {
    super.onDestroy();    
    Log.d("D", "Destroyed");     
}

しかし、これはボタンを押したときにのみ機能しBackます。ボタンをHome押すと、アプリケーションPauses、およびタスクマネージャーからこのアプリケーションを閉じると、onDestroy関数は呼び出されません。これを処理する方法は?

何か案が ?

4

4 に答える 4

0

Android 開発者ガイドから:

ユーザーが [戻る] ボタンを押した場合や、finish() を呼び出してアクティビティが独自の破棄を通知した場合など、アプリの通常の動作が原因でアクティビティが破棄されるシナリオがいくつかあります。アクティビティが現在停止していて長期間使用されていない場合、またはフォアグラウンド アクティビティがより多くのリソースを必要とするため、システムがバックグラウンド プロセスをシャットダウンしてメモリを回復する必要がある場合、システムはアクティビティを破棄することもあります。

ホームボタンを押してアプリを切り替えると、Android はアクティビティを一時停止し、アクティビティに戻ると再開します。

ほとんどの場合、アプリケーションを終了するタイミングは OS が決定するため、アクティビティが破棄されたときにログを記録しても意味がありません。onPause()またはonStop()メソッドをオーバーライドすることをお勧めします

于 2013-07-02T07:26:39.063 に答える