0

最初にActivityAを開始し、次にActivityAがActivityBを開始するmyAppがあります。ActivityB は 3 つのタブを保持する非常に複雑です。

killbackgroundprocess を呼び出してアプリを強制終了し、システムのリソース不足をシミュレートして一部のアプリをリサイクルする別の killApp を作成しました。

ホームボタンをクリックした後、killApp を実行してアプリを強制終了し、myApp を再度起動します。白い背景のパネルがしばらく表示された後、ActivityB が再描画されます。

私の理解では、ホーム ボタンをクリックすると、myApp のアクティビティがディスクに保存され、再起動すると、ActivityB がアクティビティ スタックの一番上にあるため、その onCreate が再度呼び出されます。ActivityB はコンテンツを初期化するのに時間がかかるため、アクティビティ全体の準備が整うまでしばらくの間、白い背景が表示されました。

私の質問は次のとおり
です。1.アプリが初めて起動された場合、そのような白い背景の問題はありません。アプリの起動中にAndroidシステムがすべてのリソースをメモリにロードするためです。リソースがロードされるのを待ちますか?

2. 上記の白い背景の問題を解決するにはどうすればよいですか? 私の考えは、アクティビティ オブジェクト全体をディスクにシリアル化するなど、アクティビティ全体をディスクに保存し、onCreate が再度呼び出されたときにシリアル化解除することです。しかし、それを実装する方法がわかりません。助言がありますか?ありがとう。

4

1 に答える 1

0

アクティビティのライフサイクルについて詳しく読むことをお勧めします。 http://developer.android.com/guide/components/activities.html#ImplementingLifecycleCallbacks

于 2013-07-03T02:10:07.273 に答える