我正在通过带有分配配置文件的 Instruments 在 Xcode 4.5 中运行我的应用程序。这个项目是非ARC的。每分钟,我的应用程序都会调用以下代码。请注意,此方法的调用者在后台线程中运行,并且它被 NSAutoReleasePool 包围。
-(void)saveCurrentlyCachedMinute
{
NSCalendarUnit units = NSHourCalendarUnit | NSMinuteCalendarUnit;
NSDateComponents *now = [[NSCalendarcurrentCalendar] components:units fromDate:[NSDate date]];
self.cachedTimeImages = now;
}
其中 cachedTimeImages 是一个声明如下的属性:
@property (nonatomic, retain) NSDateComponents *cachedTimeImages;
每分钟后,我单击 Instruments 中的 Mark Heap 按钮。Instruments 说我的堆随着NSDateComponents
对象的增长而增长。我在上面的代码中做错了什么?