【问题标题】:Service vs AsyncTask to handle Configuration Changes and a TCP connectionService 与 AsyncTask 处理配置更改和 TCP 连接
【发布时间】:2014-10-31 05:53:44
【问题描述】:

情况是这样的:我的应用程序有一个活动,处理一个持久的 TCP 连接,并使用很多东西(对象的哈希表、按钮、ArrayLists、适配器...)动态更新 UI。 目前,我使用 AsyncTask 处理连接,并寻找一种保存方法:

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

当屏幕旋转或用户接听电话时,我发现:http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html 这对我来说看起来很酷。但我也到处读到我应该使用服务,因为它更适合长期的 TCP 连接。 为什么选择 AsyncTask:

  • 看来我可以使用 Fragment 保存 TCP 连接
  • 无论如何我都必须做类似的事情,以便从旋转/调用中保存对象、按钮等
  • 我只有一项需要连接的活动(服​​务不是为多个指定的吗?)

为什么服务:

  • 不需要使用 Fragments 来保存 TCP 连接(是真的吗?什么样的服务,正常的,IntentService,因为我只有一个客户端,或者有界,我应该使用这样做吗?)
  • 更适合长期连接

当我说“服务”时,我假设无论如何我都必须在服务内运行一个 AsyncTask,因此它不会处理主要活动上的连接。我该怎么办?

【问题讨论】:

    标签: java android android-asynctask android-service android-configchanges


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2017-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-01
      相关资源
      最近更新 更多