【发布时间】:2012-01-22 16:58:32
【问题描述】:
我有一个启动 3 个线程的活动 “While(true)”循环
当我开始一个新活动时,这些线程会自行终止吗?
还有一个问题,我如何开始一项新活动,但我不想允许 '返回'按钮让我回到旧活动 - 实际上我想处理第一个活动并创建并显示一个新活动
谢谢你 罗恩
【问题讨论】:
标签: android multithreading android-activity back terminate
我有一个启动 3 个线程的活动 “While(true)”循环
当我开始一个新活动时,这些线程会自行终止吗?
还有一个问题,我如何开始一项新活动,但我不想允许 '返回'按钮让我回到旧活动 - 实际上我想处理第一个活动并创建并显示一个新活动
谢谢你 罗恩
【问题讨论】:
标签: android multithreading android-activity back terminate
当我开始一个新活动时,这些线程会自行终止吗?
不,他们没有。您必须在关闭活动之前停止它们。
我如何开始一项新活动,但我不想让“返回”按钮让我回到旧活动
当您开始第二个活动时,只需从您的第一个活动中调用 finish() 即可:
Intent intent = new Intent(...);
startActivity(intent);
finish();
【讨论】:
当活动暂停或停止时线程可能不会立即停止。更好的策略是设置一个标志,一旦调用 onPause 或 stop 就设置为 false。 线程检查此标志并中断自己或退出运行方法。
如果您不希望后退按钮显示较旧的 Activity,您可以为较旧的 Activity 使用 NO_HISTORY 标志http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NO_HISTORY
如果您想将此活动作为堆栈中的第一个活动,请使用此标志 FLAG_ACTIVITY_TASK_ON_HOME
【讨论】: