0

我正在创建大约 100 个uibuttons,每个都有一个独特的图像(图像是一些 60x70 png 图像)。我的内存有问题。我想在某个时候释放这个内存,此时我已经使用完这个按钮.

我这样设置图像。

[button1 setImage:imageButton1  forState:UIControlStateNormal];

在哪里

button1=[UIButton buttonWithType:UIButtonTypeCustom];

现在我要做的是将uibuttons使用的图像设置为nil,如下所示。

[button1 setImage:nil forState:UIControlStateNormal];

但这样一来,记忆保持不变。

4

2 回答 2

0

如果你完成了按钮,你能完全摆脱它吗?

[button1 removeFromSuperview];
于 2013-02-03T16:25:35.340 回答
0

很难成功,当然,问题在于图像对内存的占用。您在哪个设备上测试您的应用程序?
您的图像在视网膜中约为 60x70 像素,我猜是正常显示的一半。您是否在此分辨率中使用它们?也许您可以将它们放大一点。100个按钮意味着您可能正在使用UIScrollview,我建议您使用诸如UITableViewUICollectionView(仅ios6)之类的东西,它可以重用它们的单元格,并且可以帮助您只为屏幕上的按钮懒惰地加载图像,只显示可见按钮的图像在屏幕上。
希望这可以帮助

于 2013-02-03T16:59:55.147 回答