无法分配区域malloc

时间:2012-12-23 19:43:10

标签: ios

我收到此错误导致我的应用崩溃:

..Splash-it(1369,0x5783000) malloc: *** mmap(size=516096) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug

我不知道为什么会导致错误。这是内存问题错误吗?我该怎样预防呢? “在malloc_error_break中设置一个断点来调试”是什么意思?

感谢您的回答。

3 个答案:

答案 0 :(得分:1)

在我的情况下,我得到了这个,因为imgCount没有获得价值,因为我的条件失败了。 并且非void函数返回imgCount的值。

- (NSInteger)collectionView:(PSUICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    NSInteger imgCount;
    if(collectionView == self.imageCollection) {
        imgCount=self.imageCount;
    }
    return imgCount;
}

所以我通过将值赋给imgcount来解决它。 它对我有用。

答案 1 :(得分:0)

不确定,但这种情况发生在我的情况下&我通过删除断点来解决。

我正在从服务器&将它们添加到tableview&隐藏或显示页脚。有时我的页脚视图没有按照我的意愿出现,所以我插入了断点来查看出错的地方。但是经过一段时间做同样的活动后,我的应用程序出现了错误。

我尝试了2-3次没有断点&它没有崩溃,但每当我添加断点时发生错误。

这可能不是你的情况,但我想如果你在主线程上进行一些大型操作&如果您已插入断点,则至少可以尝试一次。

答案 2 :(得分:0)

可能是您尝试一次分配过多的内存。我试图疯狂分配大量内存,但出现此错误。