Я использую RestKit для загрузки нескольких файлов в моем приложении. Пока файлы не слишком большие, все работает как шарм. К сожалению, я попытался загрузить большой видеофайл (около 230 МБ) и получить memory warning
, и приложение выйдет из строя.Загрузка и сохранение больших файлов с помощью RestKit
я начать загрузку со следующей строкой
[[RKClient sharedClient] get:[NSString stringWithFormat:@"/%@", listItem.filename] delegate:self];
В методе делегата я сохранить его в appDirectory/Library/Caches/
, локальной
- (void)request:(RKRequest *)request didLoadResponse:(RKResponse *)response
{
NSURL * url = [NSURL fileURLWithPath:[cacheDirectory stringByAppendingPathComponent:response.URL.lastPathComponent]];
[[response body] writeToURL:url atomically:YES];
}
Я проверил приложение в инструментах утечек памяти и увидел, что Live Bytes
за *Overall Allocations*
продолжал подниматься до Low Memory Alerts
. Приблизилось 100 MB
. Однако утечек не было.
Удаление строки, ответственной за сохранение файла ([[response body] writeToURL:url atomically:YES];
) ничего не изменило, поэтому я думаю, что проблема находится где-то в RestKit.
При исследовании я наткнулся на method of ASIHTTPRequest
, который позволяет напрямую скачивать файлы и думать, что что-то подобное может решить проблему, но не уверен.
Есть ли возможность в RestKit для прямой загрузки, которую я пропустил?
или
Есть ли лучший способ для загрузки файлов с RestKit, что я должен знать о?
Эй, спасибо за ответ. У меня еще не было времени изучить это, но это кажется законным. Надеюсь, скоро вернемся к нему и дадим отзывы в случае возникновения проблемы ... – taymless
Можете ли вы поделиться своим кодом? Я очень заинтересован в загрузке больших файлов с помощью restkit ... – fvisticot
К сожалению, у меня нет доступа к коду сейчас (сменил работодателя), но я рад провести вас, если вы скажете мне, где именно вы застряли , – lawicko