我有关于在同一个活动中恢复多个线程:我的应用程序中有三个不同的线程,我称之为 AThread、BThread 和 CThread。
如果我的应用程序关闭并重新打开,我需要重新打开所有预览线程。我怎么能那样做?我想返回一个线程列表。这是一个不错的选择吗?就像是:
@Override
public Object onRetainNonConfigurationInstance() {
return new ArrayList<Thread>(AThread, BThread, CThread);
}
然后,在 onCreate 函数中,调用一个“for each”来验证所有线程。就像是
@Override
public void onCreate(Bundle savedInstanceState) {
(...)
super.onCreate(savedInstanceState);
ArrayList<Thread> allThreads = (ArrayList<Thread>) getLastNonConfigurationInstance();
AThread = allThreads.get(0);
BThread = allThreads.get(1);
CThread = allThreads.get(2);
if (AThread != null && AThread.isAlive()) {
// TODO SOMETHING
}
if (BThread != null && BThread.isAlive()) {
// TODO SOMETHING
}
if (CThread != null && CThread.isAlive()) {
// TODO SOMETHING
}
}
那是对的吗?有更好的主意吗?干杯 =)