2011-09-16 8 views
1

私はActicityGroupを使用してアクティビティのスタックを持つAppを持っています。私が新しいアクティビティを開始すると、私はこれを自分のActivityGroupの子として行います。私は私の出発のアクティビティ(1)にいるよ、と私は新しいものを開始すると仮定しましょ(2)ので、ここで呼ばなっているものである:Android Activity-Lifecycle ... onDestroy()を回避するにはどうすればよいですか?

(1):onPause()

(2):のonCreate ()、onStart()、onResume()

ここまでは、すべてがアスペクト化されています。

(2)::onPause()、onStop()、onDestroy()

(1):onStop()、onDestroy()[原文]

を私は戻るボタンを押した場合、スタックは以下の通りです

(1):のonCreate()、ONSTART()、onResume()

私は何の理由、最初の理由(1)onStopを行う必要があり、onDestroy()、再び再作成するには、第二、なぜonRestartが取得することはありませんを参照してくださいませんon(1)を呼び出しました。

誰にもこの動作の理由がありますか? onStop()またはonDestroy()の呼び出しをキャンセルすることはできますか? 任意のアイデアは

+0

チェックこれを投稿あなたが訪問することができ、より詳細に知ることが........... http://developer.android .com/reference/android/app/Activity。html http://www.technicaljar.com/?p=517 http://androidapps.org.ua/i_sect11_d1e703.html –

答えて

4

子アクティビティを開始するときのように、FLAG_ACTIVITY_SINGLE_TOPを使用してみてください:

Window window = getLocalActivityManager().startActivity(id, 
      intent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP)); 
ここ

さらに詳しい情報:

http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_SINGLE_TOP

+0

は問題ありません:それはaspectedとして働きます:FIRST_ACTIVITYを作成し、上記のようにSECONDを開始します。 FIRSTのonResume。しかし、SECONDを再起動したい場合は、NOTHINGがそこから呼び出されます –

0

ボタンを押すと表示されます。デフォルトの動作では、現在のアクティビティを停止または破棄して、戻るボタンを無効にすることができます。ホームボタンを押すと、onPause()が使用されます。これは、同じアクティビティを再度起動したときに現在のアクティビティを続行したいと考えることを意味しますが、戻るボタンを押すと、現在のアクティビティを終了し、最後のアクティビティ

+0

私はあなたに誤解していると思います.2回目のアクティビティがonBackPressedを破壊することは絶対に明らかですが、なぜこれが最初ですか?アクティビティも? –

+0

私は新しい活動として始めるとそれは破壊されると思いますが、結果のための活動を開始したら – Pratik

0

Onstop()およびonDestroy()は、アクティビティを終了しない限り呼び出されません。 Ondestory()は、Activityが占有するリソースの解放を要求します。 IFアクティビティの使用が終了している場合は、このアクティビティを破棄することをお勧めします。

第2に、メモリ管理方式に適しています。あなたはその後、破壊呼び出していない場合は、それが自動的に呼び出されますときにアプリを終了

、そして最後に あなたは、あなたがオーバーライドメソッドを使用することができます戻るボタンを押したときに破壊呼びたいdoesnot場合onBackpressed()

0

ます非常に単純な方法で押されたときに戻るボタンちょうどあなたのactiviため

android:persistent="true" 

に言及し、

を活動onDestroyメソッドを避けることができます、破壊されて得るあなたの活動を阻止すべきTYは、以下のSO

Prevent activity from being destroyed as long as possible

関連する問題