我正在开发一个Android应用程序,我的团队中有更多人,该应用程序具有调用远程apis的服务,你必须在与Asynctask的单独线程中进行这些调用。
现在我必须创建一个新服务,并查看以前由我的伙伴完成的服务,我看到其中一个实例化服务并在服务内部创建了AsyncTask,而另一个伙伴实例化了AsyncTask中的服务
所以我想知道,这是什么最好的做法?或两种方式都是正确的,每种方式都有特定的原因吗?
答案 0 :(得分:3)
AsyncTask中的服务似乎很奇怪!
最常见的是在Service或Thread-Handler模式中使用AsyncTasks,以确保您具有通信调用的“后台”线程。
但是,如果您的服务任务只是执行对远程API的调用,然后将结果返回给调用者,我强烈建议您查看IntentService。区别在于IntentService不需要任何AsyncTask来实现这个“后台”(其他线程)的事情。
检查google doc:http://developer.android.com/reference/android/app/IntentService.html
答案 1 :(得分:1)
new
关键字实例化服务,那么实例就像普通的Java类一样,在android系统的控制之外。