Java AsyncTask在DoinBackground中使用自定义命令填充ListView

Java AsyncTask在DoinBackground中使用自定义命令填充ListView,java,android,Java,Android,我想问问你对这个代码的看法 public class showDataLunar extends AsyncTask<ArrayList<Forecast>, Void, LunarAdapter> { protected LunarAdapter doInBackground(ArrayList<Forecast>... passing) { ArrayList<Forecast> data = passing[0];

我想问问你对这个代码的看法

 public class showDataLunar extends AsyncTask<ArrayList<Forecast>, Void, LunarAdapter> {

 protected LunarAdapter doInBackground(ArrayList<Forecast>... passing) {
        ArrayList<Forecast> data = passing[0];
        if(data==null) return null;
        return new LunarAdapter(ctx, R.layout.adapter_lunar, data);
    }

    protected void onPostExecute(LunarAdapter result) {
        if(result!=null) listLunar.setAdapter(result);
    }
 }
这段代码运行得很好,在我的应用程序中,启动时有3个带有图像和更多内容的列表视图,这使得打开应用程序有点慢,所以我尝试了这个

我在后台创建适配器,然后将其传递给onPostExecute,在列表中设置适配器

它工作得很好,可能以这种方式,我无法通知数据更改以更改视图,但在我的情况下,我不需要这样做


速度更快,但正确吗?我需要一些意见

基本上,UI更新必须在主线程上完成,而密集型和网络任务必须在后台完成,所以我想这是可以的,为什么你认为它更快?我需要一些意见巴尔干毛巾Snap,西班牙湿威利,克罗地亚紫色纽普对不起,无法抗拒,因为带有3个listview的设备上低端活动的显示时间更短。要清楚,当我说它更快时,我的意思是显示活动更快,总时间不变,用户体验对我更好。