NSURLSessionDataTask : задачи данных обмениваются данными с использованием NSData. NSURLSessionDataTask не поддерживается в фоновых сессиях, потому что он не записывает содержимое в виде локального файла (хранящегося в памяти). Поэтому его нельзя возобновить позже.
NSURLSessionDownloadTask : NSURLSessionDownloadTask напрямую записывает данные ответа во временный файл. Он поддерживает фоновые загрузки, когда приложение не запущено, и в вашем случае разрешает возобновление загрузок.
Вопрос в том, почему вы хотите возобновить загрузку «изображения», которое вы пытаетесь отобразить в приложении. , Это когда-нибудь изменится? или оно всегда будет одинаковым в приложении. Если у него есть шанс измениться в будущем, я думаю, что вы должны придерживаться URLSessionDataTask
, потому что, по его мнению, он будет поглощать локальное хранилище для загрузки и записи изображений снова и снова.
Риск использования NSURLSessionDownloadTask заключается в том, что перед загрузкой вам нужно будет проверить, достаточно ли места для загрузки на устройстве впереди go, иными словами, это необходимо для обработки ошибок fileSize, так как Apple считает, что это зависит от разработчика. соответствовать этим требованиям