0

我正处于一个应用程序的最后开发阶段,该应用程序使用 JASidePanels 控件在应用程序左侧显示一个菜单(该应用程序有 5 个主要部分)。

我现在严重依赖 XCode 的 Instruments 来定位 CPU 和内存瓶颈,我注意到切换中心视图控制器似乎并没有释放任何内存。因此,随着应用程序的使用,内存会增长,触发内存警告似乎没有多大帮助。

当点击左侧面板菜单中的项目时,我使用以下方法切换中心面板:

- (void)updateCenterViewControllerWithIdentifier:(NSString *)storyboardIdentifier;
{
    @try {
        self.centerPanel = [self.storyboard instantiateViewControllerWithIdentifier:storyboardIdentifier];
    } @catch (NSException *exception) {
        DDLogError(@"%@", exception);
    }
}

如果有人熟悉控件并且知道我可能做错了什么,那么有一些建议绝对很棒。提前致谢

4

1 回答 1

0

我认为问题在于异常处理。Try-catch 导致 ARC 中的内存泄漏。您可以在此处找到详细信息,例如:https ://stackoverflow.com/a/27142288/1073388

另一件事是您不应该使用异常处理来处理 nib 加载问题。唯一可能导致异常的问题是 nib 名称错误,但这可以在开发过程中检查和修复。只有在无法预测异常行为并且应在代码块异常执行后终止应用程序的情况下才应使用异常。

于 2015-03-24T10:17:26.923 回答