首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于内存错误而终止的应用程序- iPad应用程序

由于内存错误而终止的应用程序- iPad应用程序
EN

Stack Overflow用户
提问于 2014-07-03 06:36:18
回答 3查看 8.5K关注 0票数 3

有谁可以帮我?我的应用程序在演练中崩溃,我禁用了NSZombies,我还使用了以下代码

代码语言:javascript
复制
- (void)didReceiveMemoryWarning
{
    [super didReceiveMemoryWarning];
    [[NSURLCache sharedURLCache] removeAllCachedResponses];
}

但我的应用程序还是崩溃了。该应用程序包含图像和一些加载本地图像的网页视图。请指导我如何优化应用程序,以避免崩溃。

提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-07 03:58:52

我找到了一种放大内存使用的方法,我只需要为每个viewDidLoad of ViewControllers执行viewDidLoad,因为didReceiveMemoryWarning很晚了,或者在触发内存警告时被延迟以清除缓存的响应,它在代码上看起来可能不太好,但是它阻止存储和填充内存和缓存。我仍然不能称之为解决方案,但它是一种有效的预防方法,以避免内存泄漏。

票数 0
EN

Stack Overflow用户

发布于 2014-07-03 11:06:57

屏幕截图显示了多个错误:

  1. 该应用程序被系统杀死,因为你分配的内存太多了。 使用261.4MB内存太多了!您说您正在加载本地图像。确保这些图像尽可能小(像素大小),并且只保留在内存中,只要在当前视图上需要它们。这里有许多关于如何做到这一点的讨论。如果您找不到解决方案,请在代码中发布一个新的问题,详细说明有多少图像及其像素大小、是否使用以及您试图修复的内容。使用Xcode中的工具来找出在代码中分配太多内存的位置。
  2. 控制台日志显示了许多自动退出约束问题。 这些问题也应加以修正。如果您不能解决这个问题,请发布一个问题,并提供更多详细信息。这里也有许多关于这类问题的讨论,这些讨论应该会有所帮助。使用本网站的搜索功能!
票数 3
EN

Stack Overflow用户

发布于 2014-07-03 11:17:27

当您使用任何分配的对象时,显式地将它们设置为零以释放内存。

即使你使用ARC,这也会加快清理的速度。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24546563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档