我的应用程序中的第一个视图只需要显示一次。
我在自定义 segue 中使用以下内容,将其从导航控制器堆栈中取出并转换到新的:
- (void)perform {
UINavigationController *nav = [self.sourceViewController navigationController];
NSArray *viewControllers = [NSArray arrayWithObject:self.destinationViewController];
[nav setViewControllers:viewControllers animated:YES];
}
虽然我能够确认该dealloc
方法被调用,但内存使用量并没有下降。我 100% 确定,内存是由 ViewController 分配的,我希望它会被释放,因为它包含一个非常大的图像(UIImageView)而另一个视图控制器很小(内存方面)。
我也确信,我在其他任何地方都没有对包含的元素进行任何引用。
是不是 UIImageView 将图像保存在内存中,以防再次需要它?
我正在做的事情甚至是一个好方法吗?(我受此启发)