Android UI线程重载 - 处理大型上传/下载

时间:2018-01-15 21:00:14

标签: android multithreading file-upload android-asynctask

我有一个间歇性失败的android应用程序。我有证据表明当我使用AsyncTask通过HTTP上传文件时发生大量上传。我最近阅读有关AsyncTask的文档让我相信我使用了错误的机制。

看起来正确的机制是使用某种后台服务,因此上传不会像在AsyncTask下那样关闭。 Background Operations上的文档表明我可能应该使用JobService。看起来这样可以确保我的工作在被杀后重新启动,但我不确定是否只能解决这个问题,因为上传可能仍然足够大,以至于工作将被反复杀死。

因此我觉得我有几个选择,但不知道哪些选项最有帮助:

  • 将大型上传内容分解为一系列小型的预定作业 我不必担心他们永远不会上传。
  • 找到一种显着缩小上传的方法。 (因为它可能是可能的 主要是图片,我可以更多地压缩它们。)
  • 将上传内容放在后台线程中,并确保应用程序保留 在上传完成之前一直有效。
  • 我想不到的东西。

我想听听比我说的更有经验的开发人员。如果你做过这样的事情,你做了什么?

再次感谢您花时间阅读这个问题并帮助我。

0 个答案:

没有答案