我有七个视图控制器。它们每个都加载在导航控制器内部。第一个是viewController1,最后一个是viewController7。因此,viewController1将首先被推到导航控制器,然后是viewController2和viewController3,依此类推。每个视图控制器都有专门的任务。现在,每个视图控制器都使用背景图像。背景图片太大(30 MB)。
当我按下viewController1时,应用程序变慢了一点,再次按下viewController2后,应用程序变慢了。推送viewController6后,我得到以下日志,然后该应用程序崩溃了
收到的内存压力事件16 vm压力0
我的问题是:发生上述崩溃是由于单个视图控制器中的大图像还是多个视图控制器中的大图像相互叠加在导航控制器中
我添加了以下代码:
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
但是没有运气
由于导航控制器是iOS提供的功能,因此它无法管理多视图控制器,而不会引发这种内存压力警告和崩溃。
如何在不减小背景图像尺寸的情况下处理此类情况?