我希望在 30次(最大)周围呈现相同的ViewController。该应用程序通过一系列步骤完成一系列信息。 UI仅包含显示文本信息的webview,但是有时会添加tableview以便用户基于该信息回答问题。我已经尝试了很多方法,但是这是实现这一目标的最有效的方式,因为虽然我可以使它工作正常但是我得到了很多废弃的内存这会大大减慢应用程序(我正在使用ARC)
选项1
我已经尝试过使用UIPageViewController
,但是在iPhone 4上工作正常,但是它很迟钝而且很迟钝,即
[self.pageController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:YES completion:nil];
选项2 我已经尝试过推动视图控制器(自身),它再次正常工作,但内存没有被释放,被放弃的内存增加到约20mb的快照。
用户不必回到上一个视图,所以尝试删除堆栈中的viewcontrollers,因为我正在进行但内存仍在增加。
我一直在努力解决这个问题好几个星期肯定有一个内存有效的解决方案吗?
在Mac被抛出窗口之前获得成功答案的一品脱:)
先谢谢
答案 0 :(得分:1)
ViewControlle可能包含太多资源,如Image,ImageView,View,Label ......所有这些UI单元都会占用大量内存。所以我认为提供30个视图控制器的最佳方法有两点需要注意。
答案 1 :(得分:1)
试试这个Reload View Controller。用于显示多个项目的代码。
答案 2 :(得分:0)
我坚持UIPageViewController
。假设您正确使用dataSource
和delegate
方法,在任何给定时间内应该有最多3个ViewControllers(当前显示的VC,下一个VC和前一个VC)。 iOS将负责这两者之间ViewControllers的内存管理。
如果您想要更详细的答案,您应该发布一些代码。从你的问题中不清楚你想要完成什么。