我正在开发一个应用程序,该应用程序具有将调用转发到Web服务的服务以及一些放置这些调用的活动。这些活动需要处理这些调用的结果。例如,我在服务上有一个writeComment方法,它访问Web服务并返回有关新写入的注释的一些信息。从活动调用冗长的服务方法 - 最佳实践
现在我让活动负责所有的线程。该活动绑定该服务,然后使用调用绑定服务的writeComment方法的AsyncTask。
只要活动在AsyncTask运行时没有停止,所有工作都会正常进行。如果确实如此(在翻转手机时很容易发生),那么当尝试更新onPostExecute中的UI时,AsyncTask就会死亡。我不完全确定如何解决这个问题 - 我做需要让用户知道服务器已经更新。
如果我反过来注册一个回调服务,我仍然有点残缺,因为我需要通知服务Activity已经改变 - 我需要告诉它不要通知我第一个Activity的onDestory,并在第二个Activity的onCreate中重新注册。我需要处理异步任务在onDestroy之后和onCreate之前完成的情况。
在这种情况下什么被认为是最佳实践?
谢谢, Itay。
IntentService的确处理线程,但它不处理回调。 – zmbq