后台工作者 - 没有UI或服务的AsyncTask或Loader或Fragment

时间:2012-12-12 09:00:01

标签: android android-asynctask asynchronous asynctaskloader

我知道有很多关于这个主题的主题,但是:我有一个简单的任务。

public class MyTask extends AsyncTask<T, U, V> {
...
@Override
    protected Void doInBackground(T... params) {

        for (int i = 0; i < 60; i++)
        {   
            if (isCancelled()) return null;

            publishProgress(i);

            Thread.sleep(1000);         
        }
        return null;
    }
...
}

这非常简单,我数到60并在UI上更新TextView。 当我们必须解决配置更改(如旋转屏幕)等时出现问题,因为我们必须避免内存泄漏并正确处理所有线程。

在Android 3.0中引入,加载器开始发挥作用。加载器现在是在后台线程中处理长期操作的首选方式(我们不必非常关心线程)。但是如果我理解正确的话,它们主要是从某个地方加载一些数据并在Activity / Fragment中显示它们。就像下载一些网页内容并以列表等形式显示它一样。

编辑:现在我发现了一些其他的可能性如何做一些后台工作,比如没有UI的片段(当活动重新创建时RetainInstance = true)或者将其作为服务启动的想法。他们可能会以更简单的方式实现这一目标。

我的问题是,因为我是Android新手,我应该选择哪种方式?

0 个答案:

没有答案