TabActivityを 拡張し、 Activity1とActivity2で表される 2 つのタブを保持するMainActivityがあります。
1.Eclipse MainActivity->onCreate()からエミュレーターまたはデバイスでこのアプリを実行すると、ユーザーはDialogを介して場所を選択できます。ユーザーが場所を選択すると、タブのアクティビティが作成され、 currentTab も設定されてActivity1が前面に表示され、 MainActivity が一時停止されます。
2.HOMEボタンを押すか、Backを数回押すたびに。MainActivityとActivity1およびActivity2がPAUSEDになっていることがわかります。
3.後者の後に Application/MyApp に移動すると、 Application の状態が維持され、実行されていたアクティビティがRESUMEDになることによって前面に戻されていることがわかります。
この部分は本当にうまく機能します
ただし、MyApp をリリース バージョンとしてエクスポートすると、.
1 と 2 に従ってから Applications/MyApp に移動しようとすると、常に場所を選択するためのダイアログが表示されます。これは、 MainActivityが作成されていることを意味します。これは、HOME に移動したときに破棄されたことを意味します。
- なぜこれはビルド バージョンで発生するのに、Eclipse から実行している間は発生しないのですか?
私にとってさらに奇妙なのは、ダイアログ画面で [戻る] ボタンを押すと、前回の MyApp の起動からActivity1 または 2が取得されることです。これは、Activity1 または 2 ( HOMEを押しながら前にあったアクティビティ) が破棄されなかったことを意味します。
- MainActivity ( TabHostのベース) は、破棄されていないActivity1 または 2を保持している間に破棄できますか?
私はそれをうまく説明したと思います
更新 27.03.2012
今は面白いです:) apkをビルドしてからサーバーにアップロードします。次に、Galaxy 2.2 でブラウザーに URL を入力し、apk をダウンロードします。ダウンロードが完了したら、インストールします。インストールが完了したら、[開く]と[完了] の 2 つのオプションがあります。[開く]を押すと、前述の問題を再現できます..しかし、 [完了] を選択し、後でアプリケーション メニューからアクセスすると、問題なく動作します。この選択により、後でアプリがどのように動作するかが決まりますか? なぜ?どうやって?戸惑う