我想要的效果是這樣的。當設備從服務器接收數據,加載圖像逐漸UIImageView逐步加載圖像
目前我正在做這樣的事情
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data
{
[overallData appendData:data];
self.imageView.image = [UIImage imageWithData:overallData];
}
這是工作,但它消耗所有的RAM,觸發器MemoryWarning
應用程序有時會崩潰。更不用說它每次運行上面的代碼時都會顯示這個錯誤<Error>: ImageIO: JPEG Corrupt JPEG data: premature end of data segment
,但我認爲這不是一個大問題。
有人對優化有更好的想法嗎?否則,我將不得不消除這種影響。
還有一兩件事,我不知道這是否是相關的,但我使用'ARC'。 – Gonzo
didReceiveData方法被調用了多少次?也許它被調用的次數太多,導致內存警告 另外,看看jpg和png之間的差異,看看哪一個更適合漸進式加載(注意,你不想逐步加載jpg逐步加載一個更高分辨率的版本,而不是你的例子中的截止版本) –
這個函數被調用大約5次,並且提高分辨率的加載效果也很好。這並不重要,因爲它提供了加載圖像的想法。 – Gonzo