0

这就是这样的情况:我的应用程序有一个活动,处理持久的TCP连接并动态地用很多东西更新UI(对象,按钮,ArrayList的HashTables ,适配器...)。 此刻,我处理用的AsyncTask的连接,并寻找一种方式来保存:服务vs AsyncTask来处理配置更改和TCP连接

  • 连接
  • 所有的变量,如动态创建的视图

当屏幕旋转时或者用户收到一个电话,我发现这个:http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html 这对我来说很酷。但是我也在任何地方都看到我应该使用服务,因为它对于持久的TCP连接更好。 为什么的AsyncTask:

  • 它看起来像我可以用一个片段
  • 我会做同样的事情反正保存TCP连接,为了节省对象,按钮等从旋转/调用
  • 我有需要的连接只有一个活动(不显示,服务不止一个?)

为什么服务:

  • 不需要使用Fragments来保存TCP连接(这是真的吗?什么样的服务,正常,IntentService因为我只有一个客户端,或有界的,我应该用它来做到这一点?)
  • 更好地为持久连接

当我说“服务”,我认为我必须在服务中运行一个AsyncTask,所以它不处理主要活动的连接。我该怎么办?

回答

0

通常,当后台线程的生命周期包含在单个活动的生命周期中时,请使用AsyncTask。否则,请使用Service