当应用程序需要上传很多大文件时,这将是一个更好的解决方案:
1)在单独的进程(即远程服务)上执行此操作?
2)使用单独的线程(或AsyncTask
)?
对此有明确而明确的答案吗?
顺便说一句,应用程序一直在上传东西——通常是非常小的数据块。它时不时需要发送大文件,所以我想用一种单独的机制来做到这一点,然后是我正在使用的机制。(顺便说一句,我正在使用单个任务线程的小块,效果很好)
我也明白这AsyncTask
对一次性操作有好处,线程更适合多次操作
当应用程序需要上传很多大文件时,这将是一个更好的解决方案:
1)在单独的进程(即远程服务)上执行此操作?
2)使用单独的线程(或AsyncTask
)?
对此有明确而明确的答案吗?
顺便说一句,应用程序一直在上传东西——通常是非常小的数据块。它时不时需要发送大文件,所以我想用一种单独的机制来做到这一点,然后是我正在使用的机制。(顺便说一句,我正在使用单个任务线程的小块,效果很好)
我也明白这AsyncTask
对一次性操作有好处,线程更适合多次操作
使用 AsyncTask 总是更好,因为 AsynsTask 只不过是一个线程,因为您要上传多个文件,因此需要多线程以避免任何异常
无需创建全新的流程。后台服务是最好的选择。将您的活动绑定到您的服务,并在您想要发送数据时激活它。最好在服务中使用线程/AsyncTask 发送(是的,即使在服务中也需要进行多线程)。我更喜欢 AsyncTask,因为它们易于管理。
根据使用 AsyncTask 或 Service 在后台上传文件更好吗?服务可能会更好,因为服务特别适合长时间在后台做事。
同一页面还提到,当 Activity 进入后台时,AsyncTasks 可能会被终止。