【问题标题】:Which one to select: Android Service or Intent Service or Async Task to Sync Files选择哪一个:Android Service 或 Intent Service 或 Async Task to Sync Files
【发布时间】:2012-09-11 15:37:03
【问题描述】:

我希望在原生 Android 应用程序中根据用户需求从服务器同步或下载多个文件。我还需要更新有关正在进行的同步状态的 UI。所以在这种情况下应该使用下面的哪个android组件。

  • 服务
  • 意图服务
  • 异步任务

【问题讨论】:

    标签: android android-asynctask android-service sync


    【解决方案1】:

    使用AsyncTask 来完成您的后台工作并更新UI 元素在您的任务中实现onProgressUpdate()。详情请见docs

    【讨论】:

    • 如果我使用异步任务从一个活动为几个文件启动同步,并且用户导航到另一个活动,即使活动在后台或已销毁,同步仍将在后台工作?
    • @nilMoBile 它会一直持续到完成。
    • AsyncTask 完全独立于活动,因此完成活动对任何任务都没有任何作用,除非您在 onDestroy() 中手动清理任务。但是,如果您的 Activity 正在运行的 UI 进程在您的应用程序处于后台时被 Android 杀死,那么您的 AsyncTask 也会像任何其他进程的相关对象一样被杀死。根据数据的大小,您可能需要打扰或不打扰。您更大的问题是方向更改通常会杀死并重新创建活动。
    【解决方案2】:

    使用AsyncTask,它是专门为满足您的要求而设计的。那是

    • 背景工作
    • 工作期间通知 UI。

    所有三个选项都可以,但AsyncTask 将是最简单和最合适的。

    【讨论】:

      【解决方案3】:

      我认为使用帮助服务或 AsyncTask 下载您需要的文件,并使用帮助广播接收器更新 UI。

      【讨论】:

        猜你喜欢
        • 2018-09-20
        • 1970-01-01
        • 1970-01-01
        • 2014-10-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多