我正在使用图像来填充当前图形上下文中的颜色,使用以下语句:
CGContextSetFillColorWithColor(aContext,[[UIColor colorWithPatternImage:[UIImage imageNamed:kRunnerGradientedBackgroundImage]] CGColor]);
这个语句突然将我的内存使用量从 1.3 MB 增加到 5.6 MB。如果我释放 UIImage
对象,那么它会下降到 1.3 MB,但由于图像对象的保留计数已经为 0,我不能这样做。
有什么建议可以控制这种突然的内存峰值吗?
模式数据必须加载到内存中才能使用。没有解决这个问题。你可以尝试一个更小的模式。完成图案绘制后,还可以尝试将上下文的填充颜色设置回简单的纯色。
添加:当您在其中绘制图案或图像时,图形上下文本身也可能变得更大(以保存图案图像所需的所有像素)。尝试移除并释放包含图形上下文的 UIView 或 CGLayer。
关于iphone - 将 UIImage 用于 CGContextSetFillColorWithColor 时突然出现内存峰值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7959248/
欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) | Powered by Discuz! X3.4 |