Android 我应该为每个http连接使用一个加载程序,还是为所有http连接使用一个加载程序?

Android 我应该为每个http连接使用一个加载程序,还是为所有http连接使用一个加载程序?,android,android-studio,asynctaskloader,Android,Android Studio,Asynctaskloader,我是Android的新手,正在尝试制作一个简单的新闻提要应用程序。我正在使用Asynctaskloader进行后台操作。现在,我使用一个加载程序来连接不同的新闻源。我的问题是,我应该为每个新闻源定义并运行不同的加载程序,还是一个加载程序也可以处理它?我这样问是因为当应用程序打开时,加载新闻需要5-10秒(到目前为止,我只添加了三个新闻源),这可能是因为使用了单个加载程序吗?使用单个加载程序的loadInBackground方法来访问不同的数据源的问题是,这种访问在相关线程中是顺序的。从N个来源获

我是Android的新手,正在尝试制作一个简单的新闻提要应用程序。我正在使用Asynctaskloader进行后台操作。现在,我使用一个加载程序来连接不同的新闻源。我的问题是,我应该为每个新闻源定义并运行不同的加载程序,还是一个加载程序也可以处理它?我这样问是因为当应用程序打开时,加载新闻需要5-10秒(到目前为止,我只添加了三个新闻源),这可能是因为使用了单个加载程序吗?

使用单个加载程序的
loadInBackground
方法来访问不同的数据源的问题是,这种访问在相关线程中是顺序的。从N个来源获取和返回新闻的总时间将是每个来源的时间之和,包括延迟或超时,假设您等待下载所有内容以继续演示


你应该考虑更多的线程/加载器或其他策略(可能是取1,显示1,取2,加2等),在那里用户不会因为等待而感到沮丧。

< P>加载程序是好的,因为它有处理生命周期的能力,但它不如LiviaDa和ViewModel那么有效。如果您关心性能、速度和最新版本,请使用Android体系结构组件(LiveData、ViewModel),而且,您不必坚持旧的做事系统,您可以编写多个简单的异步任务,并使用ViewModel和LiveData将其包装起来。它就像一个魔术,比装载机更好。有关如何在LiveData和ViewModel中包装AsyncTask的信息,请访问