0
我需要處理很多圖像,並且我無法將它們全部作爲UIImage存儲在內存中,因爲它們太大。
我還需要更改圖像的顏色並將它們動態合併。
從底層的NSData創建UIImage,改變顏色,並且當你在內存上沒有許多圖像的時候將它們合併起來相當慢。 (據我所知)(iPhone)維護CGContextRef或CGLayerRef佔用比UIImage更少的內存?
我想也許我可以存儲底層的CGLayerRef(用於將要組合的圖像)和CGContextRef(最終的組合圖像)。
我是新來的繪圖世界,並不確定CGLayerRef或CGContextRef在內存上比UIImage本身小。
我最近聽說w * h圖像在內存中佔用了w * h * 4個字節。
CGLayerRef或CGContextRef是否也佔用那麼多內存?
謝謝
- 您編輯
以下是我想的,以更低的內存使用率,並計算時間的策略。
CGLayerRef layer = CGLayerCreateWithContext(self.bitmapContext, self.frame.size, NULL);
CGContextRef layerContext = CGLayerGetContext(layer);
CGContextDrawImage(layerContext, self.bounds, image.CGImage);
store 'layer' somewhere.
possibly destroy layerContext
啊謝謝,因爲我需要layerContext(這是位圖)來繪製一些東西,我想保持層不會幫助我,只要內存去。我對麼? – eugene 2011-01-13 09:01:47