2011-12-25 17 views
0


我在做某種形式的滾動條的一些圖片我已經保存使用NSFileManager在設備上,閱讀UIImage的數據,同時滾動,利弊

每當用戶滾動到特定的小區i閱讀圖像數據和加載它,並滾動有點慢和波濤洶涌,

目前要從磁盤讀取圖像我使用[NSFileManager contentsAtPath: myFile],然後[UIImage imageWithData: imageData]

我想知道如果這是一個更簡單,更有效的方法來做到這一點, 我想只是將圖像預加載到內存中,但這些圖像每個都是700x700像素,我擔心會導致內存過量使用,

無論如何,我還在其他一些線程上看到,JPG代表似乎佔用了比PNG更多的內存,所以在將所有內容更改爲PNG之後,它似乎運行得更好一些,但仍然不夠快。

很想聽聽你的經驗:)
Shai。

+0

你是怎麼做到的? – bandejapaisa 2012-07-07 20:49:43

+0

我想我最終將圖像數據加載到帶有GCD(Grand Central Dispatch)的單獨線程中,讓UI在加載數據時能夠在主線程上順利工作。 – 2012-07-08 07:59:50

+0

這很有道理。 – bandejapaisa 2012-07-09 14:16:43

回答

1

Apple有一個lazy image loading example,可以讓你開始從本地或網絡位置加載圖像。

+0

這個例子似乎只提供了我已經熟悉的遠程數據抓取技術......或者我失去了一些東西?感謝您的回答Eric! :) – 2011-12-25 17:40:54

+0

當傳入文件的URL時,而不是使用NSURL URLWithString:,請使用fileURLWithPath:isDirectory :. – Eric 2011-12-25 17:54:01

+0

謝謝埃裏克,我明天早上先檢查一下它的第一件事:) – 2011-12-25 18:06:14