我在iPod touch上运行我的iOS应用程序,似乎收到很多内存警告。不知道这是为什么,我已经使用仪器,我没有使用那么多的记忆。无论如何,有时在收到内存警告后,工具栏上的一些UIBarButtonItems消失(例如,导航控制器中的后退按钮)。iOS:内存警告使按钮消失
这是一个真正的问题,唯一的解决办法是杀死应用程序并重新启动。我该如何处理这种情况?也许有一种方法来重新加载栏按钮项目?有没有人遇到类似的事情,你会如何继续?
感谢您的帮助。
编辑:我应该补充说我的UIBarButtonItems有自定义图像。我在viewDidLoad中设置了这些图像。也许内存不足的警告会释放这些图像,然后再次不会再加载它们。我认为这可能是,但我如何确保如果视图再次出现,图像再次加载?
EDIT2:看来问题是,在viewDidUnload中,我将其中一个BarButtonItems设置为nil。我认为这实际上是在我设置IBOutlet时由XCode自动插入的。这是正确的做法,还是我不应该把它设置为零。如果是这样,以后如何正确重新分配?
好的,所以我做了一些更多的测试,看来当我得到内存警告(或者如果我在模拟器中模拟它),那么我的BarButtonItems被设置为零。我如何重新分配他们?我在故事板中创建了它们,所以它们是IBOUtlets(强壮和非原子)。 – user1013725 2012-08-13 02:58:55
只是为了补充一点,我认为这不仅仅是图像被释放,它是整个UIBarButtonItem被释放。 – user1013725 2012-08-13 03:02:59
你应该实现didreceivememorywarning并发布一些你不需要的东西。 – Dustin 2012-08-13 03:17:36