【问题标题】:iOS memory debuggingiOS内存调试
【发布时间】:2011-12-05 19:49:46
【问题描述】:

我有一个延迟加载 UIScroll 视图,它保留三个活动页面:n-1nn+1,并取消分配 3 页范围之外的视图。我确实看到dealloc 被调用以获取不必要的视图,但是当我在滚动时监视Instruments 中的内存分配时,我发现每次滚动UIScrollView 时Live Bytes 都会增加5K。尽管UIScrollView 中只保留了 3 个活动视图,但 Living 对象的数量也在不断增加。

该应用程序不会崩溃或发出内存警告,但是,我试图弄清楚这是否是我应该注意的内存泄漏。分析代码不会发出任何内存泄漏警告。

有什么想法吗?这是否意味着内存一直在泄漏?

谢谢。

【问题讨论】:

  • 发布加载新页面并删除旧页面的代码。让我们看看你在做什么。

标签: xcode ipad uiscrollview memory-management


【解决方案1】:

使用 heapshot 分析运行仪器。它会告诉你执行期间的分配和对象变化。

【讨论】:

  • 贾斯汀,我运行了堆射击分析,我没有看到堆增长或对象分配的数量增加。这是否意味着一切都是一流的?
  • @user628896 自发布问题以来,您是否更改了实施? 滚动时,我看到每次滚动 UIScrollView 时 Live Bytes 都会增加 5K。尽管在 UIScrollView 中只保留了 3 个活动视图,但 Living 对象的数量也在不断增加。 不同意 我没有看到堆增长或对象分配的数量增加。分析:记录。导航到该页面并加载 3 个页面。标记堆。滚动并加载更多页面以获得您最初所写的增长。再次标记堆。结束录制。
猜你喜欢
  • 1970-01-01
  • 2013-08-29
  • 1970-01-01
  • 2012-06-13
  • 2010-12-01
  • 2011-09-13
  • 1970-01-01
  • 1970-01-01
  • 2013-10-15
相关资源
最近更新 更多