因此,我有一个应用程序,在这个应用程序中,我使用一个异步任务使用rest从Django后端获取数据。当设备需要与站点同步时,这将在第一次使用。因此,这个同步任务获取相当多的数据(2GB)。我在许多地方读到,异步任务确实应该在进程不超过2-3秒的时间内使用。我的案子肯定要花更长时间。
发布于 2013-11-08 12:07:57
使用服务。
它适用于长期运行的任务,与您的活动生命周期无关。
如果您还将通知与下载相关联,显示进度(因为2GB可能需要大量的时间来获取,特别是在移动连接上),这将对用户特别有帮助。说到这一点,请不要在移动连接上获取2GB的数据,除非向用户表明您要这样做,或者允许他们选择退出,或者只有在通过WiFi进行连接时才能这样做。数据有限的用户将感谢您;)
这里有一个关于服务的教程
或者,您可以让操作系统处理所有这些问题,并使用DownloadManager来获取文件。它处理设备重新启动,连接问题等。
样本工程,教程
发布于 2017-03-02 08:04:37
最好在后台使用IntentService执行长时间运行的任务。它也将在完成工作后自动完成。
https://stackoverflow.com/questions/19858296
复制相似问题