2

学術的に見えるかもしれない質問がありますが、実際には直面しています。A2 つのアクティビティ(ルート) とで構成されるアプリを作成してみましょうB

A-> startActivity(A.this, B.class)-> B-> finish()->A

これらのログ メッセージonStart()onStop()メソッドを追加しました。BからA使用に戻ると、次のようfinish()になります。

05-29 18:48:03.559: D/MYLOG(7075): A 開始

05-29 18:48:03.919: D/MYLOG(7075): B 停止

ご覧のとおり、A の開始と B の停止の間に 360 ミリ秒の間隔があります。ただし、この間隔は任意に大きくすることができます。この間隔が約 10 秒のアプリがあります。Aだから私はアクティブでB死んでいるがまだ生きている時間間隔を持っています. (間隔で)B再び使用を開始するとどうなりstartActivity(A.this, B.class)ますか?

私の実際の状況はさらに複雑です。これBNativeActivityOpenGL ゲーム用であり、ゲームが終了する前に再起動されることを想定していないため、私のアプリは C++ コードでクラッシュするだけです。

とにかく、まず、私の基本的な質問、つまり、「死にかけている」アクティビティを開始しようとするとどうなるかについて、Android の専門家がどう思うか知りたいと思います。

4

1 に答える 1

0

あなたが言うように、「『死にゆく』活動を始める」ことはできません。

startActivity(A.this, B.class)B でafterを呼び出すfinish()と、Activity B の新しいインスタンスが作成されます。

また、注意すべきことの 1 つonStop()は、Activity が死んでいるか死んでいることを示すものではないということです。以下を参照してください。そこからonStop()onRestart()可能な次のステップの 1 つが示されます。Android ライフサイクルを確認する必要があります

Android ライフサイクル

コードなどの問題がある場合、onStop()またはonDestroy()実行する必要がある場合は、別の場所に移動することをお勧めします。

于 2013-05-29T15:32:50.433 に答える