1

我正在從Web API請求純文本數據,它可能大至〜5 MB或小至〜1 KB。什麼時候DownloadManager更適合HttpUrlConnection?

由於增加了超時的可能性和5 MB的內存佔用空間,我很猶豫使用HttpUrlConnection

從Android文檔:

The download manager is a system service that handles long-running HTTP downloads.

請問5 MB計爲 「長時間運行?」看來HttpUrlConnection的預期用途是用於小數據包,而不是5MB的文本。

回答

2

我猶豫使用HttpURLConnection的,因爲時間的可能性增加了

的我不知道你的擔憂是關於超時。只要你以合理的速度下載數據,我不明白你的服務器爲什麼會放棄你的連接。

現在,您可能會遇到用戶移動和清理丟失連接的問題(例如,從WiFi切換到移動數據)。

和5 MB的InputStream

InputStream一個的內存佔用量是不5MB。對於這種大小的文件,您通常每次讀取幾個KB並將結果寫入文件。

5 MB算作「長期運行」嗎?

這取決於你。它足夠大,我會考慮DownloadManager

看來,HttpUrlConnection的預期用途是用於小數據包,而不是5 MB的文本。

HttpURLConnection用於從一個字節到一個terabyte和理論上超過的所有內容。 DownloadManager可能使用HttpURLConnection

爲你做什麼DownloadManager是:

  • 手柄連接故障轉移和撿下載
  • 保持清醒的設備在下載上
  • 打算等等
相關問題