我正在编写一个将连接到REST /
JSON Web服务的
Android应用程序.用户将检索信息,上传评论,下载和上传图像等.
我知道我不应该在Activity / UI线程中保留所有这些网络通信,因为它会导致ANR.令我困惑的是我是否应该使用AsyncTask或带有“手动”线程的服务来实现这一目标;
使用Service,我只需要为webservice的API中的每个方法提供一个公共方法.然后我会在每个方法中实现线程.
如果我使用AsyncTask,我会创建一个帮助器类,为webservice的API中的每个方法定义AsyncTasks.
哪种方法更受欢迎?只有当用户在Activity中时,才会与webservice进行交互.一旦他们切换到另一个应用程序,或退出程序,就不需要与Web服务进行通信.