我正在编写一款连接REST/JSON webservice的Android应用程序。用户将检索信息、上传评论、下载和上传图片等。
我知道不能将所有这些网络通信保留在Activity/UI线程中,因为这会导致ANRs。但我不确定是否应该使用AsyncTask或Service来完成这个任务。
如果使用Service,我将为webservice API中的每个方法创建一个公共方法,然后在每个方法中实现线程。
如果使用AsyncTask,我将创建一个帮助类,为webservice API中的每个方法定义AsyncTasks。
哪种方法更好?与webservice的交互仅在用户在Activity中时发生。一旦他们切换到另一个应用程序或退出程序,就没有必要与webservice通信。
我知道不能将所有这些网络通信保留在Activity/UI线程中,因为这会导致ANRs。但我不确定是否应该使用AsyncTask或Service来完成这个任务。
如果使用Service,我将为webservice API中的每个方法创建一个公共方法,然后在每个方法中实现线程。
如果使用AsyncTask,我将创建一个帮助类,为webservice API中的每个方法定义AsyncTasks。
哪种方法更好?与webservice的交互仅在用户在Activity中时发生。一旦他们切换到另一个应用程序或退出程序,就没有必要与webservice通信。