我正在使用RestKit在我的應用程序中下載多個文件。只要文件不是太大,一切都像魅力一樣。不幸的是,我試圖下載一個大的視頻文件(大約230 MB),並得到一個memory warning
和應用程序崩潰。使用RestKit下載並保存大文件
我開始下載使用以下行
[[RKClient sharedClient] get:[NSString stringWithFormat:@"/%@", listItem.filename] delegate:self];
在委託方法我localy保存在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