我是一名有用的助手,可以为您翻译文本。
作为MyWelcomeFragment的onResume的一部分,一个线程被启动来从我的Web服务器获取更新。如果用户在线程完成之前选择了一个操作并转到MyNewsFragment,那么仍未完成运行的线程会发生什么情况?线程是这样创建的:(myThread和handler是实例变量)
我有一个使用片段的MainActivity。
MainActivity的onCreate使用
完成其onCreatewelcomeFragment = new MyWelcomeFragment();
fr.beginTransaction().replace(R.id.mainContent, welcomeFragment).commit()
作为MyWelcomeFragment的onResume的一部分,一个线程被启动来从我的Web服务器获取更新。如果用户在线程完成之前选择了一个操作并转到MyNewsFragment,那么仍未完成运行的线程会发生什么情况?线程是这样创建的:(myThread和handler是实例变量)
myThread = new Thread(new Runnable() {
@Override
public void run() {
sendDataToServer("");
handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
public void run() {
onTaskDone();
}
});
}
});
myThread.start();
onTaskDone
试图更新视图部分而Activity
已经完成,那么它可能会有问题。为什么不使用标准的AsyncTask
API呢? - Aritz