我正处于一个应用程序的最后开发阶段,它使用JASidePanels控件在应用程序的左侧显示一个菜单(该应用程序有5个主要部分)。
我现在严重依赖XCode的工具来定位CPU和内存瓶颈,并且我注意到切换中心视图控制器似乎不会释放任何内存。正因为如此,随着应用程序的使用,内存不断增长,触发内存警告似乎没有太大帮助。
当点击左侧面板菜单中的某个项目时,我使用以下方法切换中心面板:
- (void)updateCenterViewControllerWithIdentifier:(NSString *)storyboardIdentifier;
{
@try {
self.centerPanel = [self.storyboard instantiateViewControllerWithIdentifier:storyboardIdentifier];
} @catch (NSException *exception) {
DDLogError(@"%@", exception);
}
}如果有人熟悉这个控件,并且知道我可能做错了什么,那么有一些建议就太好了。提前感谢
发布于 2015-03-24 18:17:27
我认为问题出在异常处理上。Try-catch导致ARC中的内存泄漏。详情请点击此处:https://stackoverflow.com/a/27142288/1073388
另一件事是你不应该使用异常处理来处理nib加载问题。唯一可能导致异常的问题是一个错误的nib名称,但这可以在开发过程中进行检查和修复。只有在无法预测异常行为,并且应用程序在代码块异常执行后应该终止的情况下,才应该使用异常。
https://stackoverflow.com/questions/27710711
复制相似问题