同じアクティビティ内で複数のスレッドを再開する必要があります。アプリには、AThread、BThread、CThreadと呼ばれる3つの異なるスレッドがあります。
アプリを閉じて再度開いた場合は、すべてのプレビュースレッドを再度開く必要があります。どうすればそれができますか?スレッドのリストを返すことを考えました。それは良い選択肢ですか?何かのようなもの:
@Override
public Object onRetainNonConfigurationInstance() {
return new ArrayList<Thread>(AThread, BThread, CThread);
}
そして、関数onCreateで、すべてのスレッドを検証する「foreach」を呼び出します。何かのようなもの
@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
}
}
あれは正しいですか?より良いアイデアはありますか?乾杯=)