【问题标题】:iOS drawRect: is it possible to clear the Graphics Context?iOS drawRect:是否可以清除图形上下文?
【发布时间】:2011-12-05 05:29:31
【问题描述】:

我正在编写一个 iPad 应用程序,并且我有一个自定义视图,我在其中覆盖 drawRect 以进行大量绘图。我有一个计时器调用setNeedsLayout 来刷新图形。

当我分析我的应用程序时,我发现随着动画的展开,应用程序占用的内存从 1.5MB 变为 600MB。

之前绘制的图形也不会消失,所以我在重新绘制新图形之前在它们上面画了一个白色方块。

我猜一些路径或形状会保留在上下文中。我怎样才能清除它(从中删除所有内容)?

【问题讨论】:

    标签: ios ipad graphics drawrect cgcontext


    【解决方案1】:

    这不是清除图形上下文的问题。您可能正在泄漏对象。使用 Instruments 中的 Leaks 模板来帮助追踪它们。或者发布您的drawRect: 代码,我们可能会看到一些漏洞。

    【讨论】:

    • 谢谢罗伯!我确认我没有内存泄漏,我也没有。事实证明,我认为我只是在阅读 Instruments 错误。我正在查看“Overall Bytes”列而不是“Live bytes”列。看起来所有分配的“实时字节”永远不会超过 635KB。感谢您帮助我验证我在 drawRect 中没有做错任何事情:!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 2011-06-14
    • 1970-01-01
    • 2012-08-04
    相关资源
    最近更新 更多