菜鸟教程小白 发表于 2022-12-11 20:25:59

iphone - 将 UIImage 用于 CGContextSetFillColorWithColor 时突然出现内存峰值


                                            <p><p>我正在使用图像来填充当前图形上下文中的颜色,使用以下语句:</p>

<pre><code>CGContextSetFillColorWithColor(aContext,[] CGColor]);
</code></pre>

<p>这个语句突然将我的内存使用量从 1.3 MB 增加到 5.6 MB。如果我释放 <code>UIImage</code> 对象,那么它会下降到 1.3 MB,但由于图像对象的保留计数已经为 0,我不能这样做。</p>

<p>有什么建议可以控制这种突然的内存峰值吗?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>模式数据必须加载到内存中才能使用。没有解决这个问题。你可以尝试一个更小的模式。完成图案绘制后,还可以尝试将上下文的填充颜色设置回简单的纯色。</p>

<p>添加:当您在其中绘制图案或图像时,图形上下文本身也可能变得更大(以保存图案图像所需的所有像素)。尝试移除并释放包含图形上下文的 UIView 或 CGLayer。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - 将 UIImage 用于 CGContextSetFillColorWithColor 时突然出现内存峰值,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/7959248/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/7959248/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - 将 UIImage 用于 CGContextSetFillColorWithColor 时突然出现内存峰值