当应用程序需要上传许多大文件时,这将是一个更好的解决方案:
1)在单独的流程(即远程服务)上执行此操作?
2)使用单独的线程(或AsyncTask
)?
对此有明确的答案吗?
顺便提一下,应用程序一直在上传内容 - 通常是非常小的数据块。 它偶尔需要发送大文件,所以我想用一个单独的机制然后我正在使用的机制。 (BTW对于小块我使用的是一个工作得很好的单个任务线程)
我也理解AsyncTask
对于一次性操作是好的,并且线程对于许多操作更好
答案 0 :(得分:0)
使用异步任务总是更好,因为Async Task只是一个线程,因为你要上传多个文件,所以多线程是必要的,以避免任何异常
答案 1 :(得分:0)
无需创建全新流程。后台服务是最佳选择。将您的活动绑定到您的服务,并在您想要发送数据时激活它。最好在服务中使用线程/ AsyncTask进行发送(是的,即使在服务中也需要进行多线程处理)。我更喜欢AsyncTask,因为它们易于管理。
答案 2 :(得分:0)
根据Is it better to use AsyncTask or Service to upload a file in background?,服务可能会更好,因为服务特别适合在后台长时间做事。
同一页面还提到AsyncTasks很可能在活动进入后台时被杀死。