【问题标题】:App crashes because of out of memory应用程序因内存不足而崩溃
【发布时间】:2013-04-18 11:15:50
【问题描述】:

我有一个 类似 Instagram 的 应用程序,带有无尽的源和相机。我正在使用ARC。对于加载(和缓存)图像,我使用AFNetworking

当我滚动提要时,它会分配并分配大量内存,有时会被释放。因此,如果我的应用程序占用超过 10-13mb 并且我打开相机,它就会崩溃。 我的提要是一个NSMutableArray,由以下实体组成:

@interface Post : NSObject 
@property (readonly) NSString *postId;
@property (readonly) NSURL *imageURL;
@property (readonly) NSString *text;
@end

我做错了什么?而在didreceivememorywarning方法中应该怎么做呢?

【问题讨论】:

  • 很遗憾,这个问题无法回答,因为它不够具体。我们只能给您提示,例如运行静态分析器并尝试手动分析谁将持有哪些对象。例如,您确实有一种内存泄漏,但无休止地将东西放入 NSMutableArray 并且从不从中删除任何东西也是一种内存泄漏。

标签: ios memory-management automatic-ref-counting afnetworking didreceivememorywarning


【解决方案1】:

当您收到 didReceiveMemoryWarning 时,您可以处置任何可以重新创建的资源。

- (void)didReceiveMemoryWarning
{    
    [self setBackBtn:nil];
    [self setDataSource:nil];
    [self setPendingDataSource:nil];
    [self setSelectionView:nil];
    [self setTitleForFormBarButtons:nil];
    [self setType:nil];

    [super didReceiveMemoryWarning];
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-24
    • 1970-01-01
    • 2012-07-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-08
    • 2014-04-02
    相关资源
    最近更新 更多