0

不可解な問題があります。任意のデバイス/エミュレーターに Eclipse からアプリケーションをデプロイすると、[戻る] ボタンと [ホーム] ボタンを使用してアプリケーションを最小化し、ランチャー アイコンをクリックしてアプリケーションを再開できます。

apk を取得し、それを電話に置いて (Astro ファイル マネージャーを使用して) インストールし、[戻る] または [ホーム] を押してランチャー アイコンをもう一度クリックすると、アプリケーションが再開されずに再作成されます: アクティビティは破棄されません。 .

これは、アクティビティとそのライフサイクルに関して Android 開発者の Web サイトに書かれているすべてに反します。

たとえば、これはユーザーが [戻る] ボタンを使用したときに私が行うことです。

@Override
public void onBackPressed() {
    moveTaskToBack(true);
}

それでも、ランチャー アイコンをクリックすると、アプリケーションが再作成されます。何か案は?

4

2 に答える 2

0

これは、アクティビティのライフ サイクルについて書かれているすべてのこととまったく同じです。

アクティビティが一時停止または停止している場合、システムは、アクティビティに終了を要求するか、単にプロセスを強制終了することにより、メモリからアクティビティを削除できます。ユーザーに再び表示されるときは、完全に再起動して以前の状態に復元する必要があります。

http://developer.android.com/reference/android/app/Activity.html

あなたのアプリケーションは「最小化」されていません。Androidには最小化されたものはありません。LinuxでもWindowsでもOSXでもありません。

于 2012-11-15T14:09:48.557 に答える
0

確かに、[戻る] を押すとアクティビティが強制終了されます。しかし、なぜそれが問題なのですか?Android には、アクティビティの状態を保存して再開できるメカニズムが用意されています。

アクティビティのライフサイクルを表示: http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle

これは、アクティビティの状態を保存する際に必読です: http://developer.android.com/reference/android/app/Activity.html#SavingPersistentState

于 2012-11-15T14:09:53.273 に答える