您可以将短操作理解为与 Activity 生命周期相关的操作。
您可以使用onProgressUpdate()
在 UI 线程上执行的回调来更新 UI。
但是,如果您的 Activity 在此过程中暂停,这很可能会崩溃,因此您应该使用 onPause() 取消您的任务task.cancel(true)
;
如果您需要您的任务来维持您的活动,那么您应该使用服务或服务意图。前者稍微复杂一些,因为您必须管理其生命周期,但提供了更大的灵活性。第二个非常简单,所以我可以在这里举个例子:
public class MyIntentService extends IntentService{
public MyIntentService() {
super("MyIntentService");
}
@Override
protected void onHandleIntent(Intent intent) {
// Background work in a worker thread (async)
// You could also send a broadcast if you need to get notified
Intent broadcastIntent = new Intent();
broadcastIntent.setAction("whatever");
LocalBroadcastManager.getInstance(this).sendBroadcast(broadcastIntent);
}
}
你可以从你的活动开始
Intent i = new Intent(context, MyIntentService.class);
context.startService(i);