gpt4 book ai didi

iphone - 此 iOS 代码会导致内存在足够长的时间内被填满吗?

转载 作者:行者123 更新时间:2023-11-29 03:43:28 26 4
gpt4 key购买 nike

所以我正在编写一个 iPhone 应用程序,其唯一目的是从 future 某个日期开始倒计时。它是一个静态应用程序,将是手机上使用的唯一非标准应用程序,将始终是唯一运行的应用程序,并且手机将不断充电(它实际上只是放在展示柜中)。正如您所看到的,该应用程序本身非常简单。我唯一担心的是随着时间的推移堆栈会溢出。这是代码中唯一真正执行某些操作的部分

- (void)updateTimeRemaining {
self.dateComponents = [self.calendar components:NSYearCalendarUnit|NSDayCalendarUnit|NSHourCalendarUnit|NSMinuteCalendarUnit|NSSecondCalendarUnit
fromDate:[NSDate date]
toDate:endDate options:0];
[self.yearsRemaining setText:[NSString stringWithFormat:@"%d", self.dateComponents.year]];
[self.daysRemaining setText:[NSString stringWithFormat:@"%d", self.dateComponents.day]];
[self.secsRemaining setText:[NSString stringWithFormat:@"%d", self.dateComponents.second]];
[self performSelector:@selector(updateTimeRemaining) withObject:self afterDelay:1.0];
}

除了永远不会改变的日历之外,所有内容都每周保留一次(尽管这应该不重要,因为应用程序中没有任何其他 View )。我想这实际上更多是关于 iOS 垃圾收集的问题。它会等待一个不存在的返回值,还是在执行完成后丢弃不需要的方法?

最佳答案

我不太确定您提出的代码。一般来说,我发现使用 performSelector: afterDelay: 是不好的形式。

您是否考虑过使用+ (NSTimer *)timerWithTimeInterval:(NSTimeInterval)秒调用:(NSInitation *)调用重复:(BOOL)重复?我想它会更可靠。它还应该返回到运行循环,让垃圾收集等过程自然发生。

Apple 对此进行了详细记录 here .

关于iphone - 此 iOS 代码会导致内存在足够长的时间内被填满吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18037779/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com