【问题标题】:Still faced memory warning after apply ARC应用 ARC 后仍面临内存警告
【发布时间】:2012-12-10 08:24:17
【问题描述】:

在我听说 ARC 功能以及它如何减少内存处理后,我已经转换了构建动态表单的应用程序,但是当我从 web 服务进行同步(在 CoreData 上写入大量数据)时仍然存在。是否有任何指导方针应该将其应用到应用程序以使用 ARC 技术。我们的日志显示有一个 (Received memory warning. Level=1)

【问题讨论】:

  • 我假设您使用线程进行异步同步。如果是这样,您是否使用 @autoreleasepool{} 包装了您的线程?
  • 我在将数据保存到 CoreData 时使用过它,但仍然存在同样的问题,我想关注在完成同步并开始旋转后进行同步时不会出现内存警告级别的问题从横向到纵向并在表格视图中显示数据数量
  • 您是否尝试使用仪器进行泄漏检测?
  • 我使用过仪器,但没有泄漏,但是当我使用内存分配进行测试时,分配可能会很大
  • 所以你可能在一个函数中做了很多分配而不离开它。尝试将同步过程拆分为块,并在单独的函数中同步每个块。否则在构建阶段关闭特定 *.m 文件的 ARC 以手动管理内存

标签: iphone ios core-data memory-management automatic-ref-counting


【解决方案1】:

使用 ARC 并不会神奇地减少内存使用量 - 它可以防止人为错误导致消耗内存的错误。即使您正在使用 ARC,理解 Objective-C 中的引用计数和一般内存管理仍然非常重要。

【讨论】:

  • 好的,请您为我提供 ARC 的高级电子书专家
  • 抱歉,我不理解。我可以建议使用启用 ARC 的新项目运行仪器,并开始按严重程度消除分配。
猜你喜欢
  • 2014-12-24
  • 2013-05-27
  • 2013-09-07
  • 1970-01-01
  • 2023-03-29
  • 2011-10-10
  • 1970-01-01
  • 1970-01-01
  • 2016-02-17
相关资源
最近更新 更多