我想这对我们所有人来说都是一个非常普遍的问题。我一直在做几个小时的学习,但也许是因为我太初级了,我仍然不知道如何解决它。我希望有人可以提供帮助。
以下是该方案:
UIbuttons
,4个UIlabels
和3个UIImages
,它们都没有连接到h文件。 似乎很简单。但是,当我在仪器/分配上运行时,我看到每次从视图3返回到主视图时,活字节(圆形1MB)会有很大的跳跃。 (回顾:到目前为止,“H”或“M”中没有代码)。然后,我尝试删除一些按钮和标签,并重做分配。我看到实时字节仍在增加,但数量较少......显然存在无限的内存增长问题(我猜)。
所以这是我的问题:我们怎么解决这个问题?为什么他们会将那么多资源分配给按钮,标签和图像,即使它们没有附加任何内容?
非常感谢!!
PS。在报告中没有发现任何泄漏,并且它们正以不变的数量增长......
我在主视图的按钮上尝试了这个,但是当我再次回来时,它可以回到view3上的主...
[self dismissViewControllerAnimated:YES completion:nil];
mainStoryboard = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:Nil];
UIViewController *go2= [mainStoryboard instantiateViewControllerWithIdentifier:@"view2"];
[self presentViewController:go2 animated:YES completion:nil];
答案 0 :(得分:2)
你永远不应该使用segue“返回”前一个控制器(除非你使用展开segue)因为segue总是创建新的视图控制器。所以,你并没有真正回到主视图,你正在创建它的新实例。当您完成此循环时,您将添加越来越多的视图控制器,并且它们都不会被释放。要解决此问题,您应该使用展开segue返回主视图,或者使用dismissViewControllerAnimated返回代码:完成: