【问题标题】:In Android, Which is more suitable for uploading large files? a service on separate process or在Android中,哪个更适合上传大文件?单独进程的服务或
【发布时间】:2013-04-18 07:43:58
【问题描述】:

当一个应用需要上传很多大文件时,这会是一个更好的解决方案:

1) 在单独的进程上执行此操作(即远程服务)?

2) 使用单独的线程(或AsyncTask)?

这个问题有明确的答案吗?

顺便说一句,应用程序一直在上传东西——通常是非常小的数据块。 它时不时需要发送大文件,所以我想用一种单独的机制来做到这一点,然后是我正在使用的机制。 (顺便说一句,我使用单个任务线程的小块效果很好)

我也明白AsyncTask 适合一次性操作,线程更适合多次操作

【问题讨论】:

标签: android network-programming android-asynctask android-service


【解决方案1】:

使用 AsyncTask 总是更好,因为 AsynsTask 只是一个线程,因为您要上传多个文件,因此需要多线程以避免任何异常

【讨论】:

    【解决方案2】:

    没有必要创建一个全新的流程。后台服务是最好的选择。将您的活动绑定到您的服务,并在您想要发送数据时激活它。最好在服务中使用线程/AsyncTask 发送(是的,即使在服务中也需要进行多线程)。我更喜欢 AsyncTask,因为它们易于管理。

    【讨论】:

      【解决方案3】:

      根据Is it better to use AsyncTask or Service to upload a file in background? 的说法,服务可能会更好,因为服务特别适合在后台长时间执行操作。

      同一页面还提到,当 Activity 进入后台时,AsyncTasks 可能会被终止。

      【讨论】:

        猜你喜欢
        • 2012-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-26
        • 2015-10-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多