UIImageView帧内存问题

时间:2010-08-11 19:23:53

标签: iphone uikit memory-management

我正在以大约30Hz的频率设置UIImageView的frame属性。仪器显示QuartsCore正在此频率分配(和释放)88个字节。以下代码会导致此问题。

CGPoint point = vectorToCircle(vec) ;
CGRect dotFrame = self.dot.frame ;

dotFrame.origin.y = (center.y - kDotHalfHeight) - point.y * kFlatRadius ;
dotFrame.origin.x = (center.x - kDotHalfWidth) + point.x * kFlatRadius ; ;

// MEMORY: this is causing allocations in QuartsCore
self.dot.frame = dotFrame ;

仪器显示分配的净额和总体比率很高。随着时间的推移,我有点担心内存碎片。

有没有办法消除这种情况,还是需要重新考虑我的设计?

更新

我在图层上尝试了这个但仍然会发生。如果我将帧设置为常量,则不会发生分配。只有当原点发生变化时才会分配88个字节

更新2

使用transform属性还会显示QuartsCore会不断分配内存。分配的地址确实增加了,但从不回收(检查循环缓冲区空间)。

0 个答案:

没有答案