2009-07-17 88 views
0

好吧,我有一個應用程序,通過在每次觸摸後閱讀屏幕(如屏幕截圖)告訴我觸摸了哪個像素的顏色。爲了檢索像素,我使用了類似於出現here的方法。但似乎每次觸摸後,圖像數據仍然保持在(更不用說在我的相冊中保存數百個不需要的屏幕截圖)我在應用程序最終崩潰之前不久就收到內存通知。 ...我的應用程序開始在3.5MB,但每次觸摸後,這個數字增加,直到它約爲100MB,之後該應用程序崩潰。如何在iPhone應用程序中釋放這些資源?

問題:
如何在每次觸摸後釋放這些數據?
Here is the link再次爲來源)

+0

您沒有提供足夠的信息來正確回答您的問題。你鏈接的代碼看起來很正常,即使它爲了讀取一個像素的顏色而花費的代價也是過度的。 – 2009-07-17 11:32:13

+0

好吧,這是我在我的應用程序中使用的代碼。我對圖形和緩衝區的知識知之甚少,所以我只做了一個複製和粘貼。該代碼允許我獲得有關給定像素的信息,但是如何在每次觸摸後正確釋放/釋放(緩衝區?)數據? – RexOnRoids 2009-07-17 11:41:43

回答

1

提供的代碼釋放它的所有緩衝區。內存泄漏必須在別處。

如果您想使用更簡化的方式讀取一個像素的顏色,可以考慮this answer中建議的方法。這個想法是使用一個非常小的緩衝區,並用一個變換來繪製視圖,該變換將像素移動到上下文所覆蓋的範圍內。