2011-12-17 17 views
2

"While(true)"ループを作成する3つのスレッドを開始するアクティビティがあります別のスレッドを開始すると、アクティビティのスレッドは終了しますか?

新しいアクティビティを開始すると、それらのスレッドは終了しますか?

もう1つの質問ですが、新しい活動をどうやって始めたらいいですか? 「戻る」ボタンを押して元の活動に戻してください。 実際には最初のアクティビティを破棄して表示したい私は新しい活動を開始するときに、新しい1

は ロン

答えて

2

ありがとう、これらのスレッドは、自分自身を終了しますか?

いいえ、そうではありません。あなたの活動を閉じる前にそれらを停止しなければなりません。あなたの最初の活動から

どのように私は新しい活動を始めるのですが、私は(仕上げを呼び出す「戻る」ボタンが古い活動

に私を返すことができるようにしたくない)とき

Intent intent = new Intent(...); 
startActivity(intent); 
finish(); 
+0

まだ何かが文脈を保持していると、あなたの活動が完全に終了しないことがありますのでご注意ください。したがって、アクティビティからthisパラメータを使用して何かを呼び出す場合は、コンテキストが無効になっているか、アクティビティがメモリに残っていることを確認してください。醜い副作用を引き起こす可能性があります – NikkyD

0

アクティビティが一時停止または停止するときすぐにスレッドが停止しない可能性があります。より良い戦略は、onPauseまたはstopが呼び出されるとすぐにfalseに設定されるフラグを持つことです。 スレッドはこのフラグをチェックし、自身を中断するか、または実行方法を終了します。

古い活性を示すためにボタンをバックしたくない場合は、このフラグFLAG_ACTIVITY_TASK_ON_HOME

スタック使用に最初の活動としてこの活動を持っているしたい場合は、古い活動 http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NO_HISTORY

ためNO_HISTORYフラグを使用することができます

+0

あなたのアクティビティが停止または一時停止しても、スレッドはこのために停止または一時停止されません。 – NikkyD

関連する問題