2013-02-03 73 views
0

我創建約100 uibuttons,每個人都有一個獨特的圖像(圖像是一些60x70 PNG圖像)。我有一個內存問題。我想在某一時刻釋放此內存,在點我已經完成使用這個按鈕。UIButton內存

我這樣設置圖像。

[button1 setImage:imageButton1 forState:UIControlStateNormal]; 

其中

button1=[UIButton buttonWithType:UIButtonTypeCustom]; 

現在我所試圖做的是設置使用的uibuttons爲零的圖片如下。

[button1 setImage:nil forState:UIControlStateNormal]; 

但是這樣,內存保持不變。

+0

使用ARC進行內存管理? –

+3

可能沒有泄漏,只有緩存的圖像。閱讀http://stackoverflow.com/a/6500753/104790 –

+0

是的,我用弧。@ juster – theone

回答

0

如果你已經完成按鈕,你能完全擺脫它嗎?

[button1 removeFromSuperview]; 
+0

我想他只是想刪除Button的圖像?不要從視圖 –

+0

中刪除,他說他「完成了使用這個按鈕」,所以我想如果你完成了,你完成了所有的按鈕。 – Joel

+0

對不起......我只是想刪除按鈕的圖像。 – theone

0

很難成功,當然,這個問題是關於圖像佔用內存的問題。你在哪個設備上測試你的應用程序?
你的圖像在視網膜中大約爲60x70px,我猜正常顯示的一半。你在這個決議中使用它們嗎?也許你可以擴大一點。 100個按鈕意味着您可能正在使用UIScrollview,我建議您使用諸如UITableViewUICollectionView(僅限ios6)之類的東西,它可以重複使用它們的單元格,並且可以幫助您僅爲屏幕上的按鈕加載圖像,只顯示圖像用於屏幕上可見的按鈕。
希望這有助於

+0

我在iPhone4s上測試我的應用程序...我使用的是UIScrollView,在這裏我添加了我的按鈕...我的UIImage是在我的應用程序中創建的60x70px ...感謝您的回覆.. – theone