【问题标题】:Received memory warning. Level=1 - UITabBarController application with 5 tabs收到内存警告。 Level=1 - 带有 5 个选项卡的 UITabBarController 应用程序
【发布时间】:2011-11-04 18:58:52
【问题描述】:

我的应用程序包含 5 个选项卡。其中 4 个包含大约 20 个文本字段(以编程方式创建并作为子视图添加到视图中), 我的最后一个标签是前一个标签的预览(截图)。当用户转到此选项卡时,他应该能够预览并可以选择触发带有预览的电子邮件(将所有 4 个选项卡屏幕截图附加到电子邮件)我已经成功实现了这一点,但导致内存警告。任何帮助都可以解决我的问题。

我是这样尝试的:如果视图不可见,则在 didReceiveMemoryWarning 中释放对象

- (void)didReceiveMemoryWarning
{
    // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];
    if (!self.view.window) {
        [preparedForTextField release];
        [agentTextField release];
        [phoneTextField release];
        [dateTextField release];
        [textFieldsArray release];
    }
    // Release any cached data, images, etc. that aren't in use.
}

并在 viewDidLoad 中再次重新加载视图。我仍然收到内存警告。

【问题讨论】:

    标签: ios memory-warning


    【解决方案1】:

    如果您需要内存中的所有内容,请忽略内存警告(尤其是 1 级警告很容易出现)。如果您不需要那里的所有内容并且可以稍后重新加载或重新创建您现在不需要的内容,请将其从内存中删除直到需要(然后重新加载或重新创建它)。

    【讨论】:

    • 正如你所说,当我从 viewWillDisappear 中的 1 个选项卡移动到其他选项卡时,我正在释放对象。我再次在 viewWillAppear 中创建对象。即使我收到内存警告。我该怎么办?
    • 这只是一个警告,如果你不能发布更多内容,请忽略它,因为那时你无能为力......
    猜你喜欢
    • 1970-01-01
    • 2012-04-22
    • 2011-03-07
    • 2011-07-31
    • 1970-01-01
    • 2011-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多