2012-07-01 62 views
0

即時通訊從圖像中拉出圖像,並且想要操縱它們,比如使用CATransform3D添加透視圖,以及將一對情侶合成在一起。完成後,我想將文件保存在內存中,以便在需要時可以將其拉出(例如,在桌面視圖單元格中)。我設法從網絡中提取圖像,並通過製作CALayer來操作它們。經過一番閱讀後,我對如何正確地做到這一點感到困惑,因爲這些圖像沒有被顯示直到需要,我顯然想在工作線程上做我的工作,所以系統不會滯後。最好的程序是什麼?CALAyer vs CGLayer混淆:在後臺操縱和保存圖像

回答

0

Apple建議您幾乎不會嘗試自己緩存圖像,因爲它們會在內部緩存它們,並且可以保證緩存即使在高內存壓力下也能正常運行。

您可以使用Apple的內部緩存通過setName:imageNamed:方法來緩存圖像。此外,您應該將映像的本地副本保存到緩存目錄中的磁盤,以便在清除緩存時不需要再次下載它。

因此,總之,使用imageNamed:,如果沒有檢查磁盤緩存目錄,如果這是沒有下載圖像。緩存一個CALayer將會造成太多髒的內存,

+0

那就是爲什麼我想首先將它保存爲PNG/UIimage。很快考慮緩存,很好的回答! – jfisk