2010-12-13 61 views
1

我正在使用仪器计算iPad应用程序的内存问题 - 查看总体分配的字节。我的NSTimer导致字节不断增加,同时注释它会导致内存使用保持不变。NSTimer不间断内存增加 - iOS错误?

从我的视图控制器的viewDidLoad中:

tickTime = 1.0/30.0; 
tickTimer = [NSTimer scheduledTimerWithTimeInterval:tickTime target: self selector:@selector(update2) userInfo: nil repeats: YES]; 

而且方法UPDATE2:

- (void) update2 { 

} 

正如你所看到的是没有在任何方法做 - 但应用程序的内存使用情况不断成长。如果我注释掉设置定时器的行,内存使用率保持不变。

这是在iOS SDK中的错误吗?有谁知道解决方法?

+0

你能更具体地了解这个计时器的用途吗?你需要它来频繁更新吗?另外,什么类型的变量是'tickTime'? – 2010-12-13 19:33:40

回答

0

如果您通过UI执行某些操作,内存是否会使用放置?即如果你点击一个按钮或什么?

什么对象都挂着有关不应该?仪器提供了更多的信息,而不仅仅是你的堆越来越多。

通常,具有蜱在第二间隔的1/30号的定时器是要避免的。

  • 如果是在主线程,它会让你的应用程序的响应速度非常流畅(最好)或完全没有反应

  • ,如果你正在尝试做动画,使用的Core Animation(或一个

  • 的各种Open GL的模式),它会吃的电池寿命。

+1

我说“要避免”,而不是“完全破碎”。如果可能,应避免任何类型的投票或快速消防机制。如果让系统尽可能多地处理紧张的周期性任务,您的应用将表现得更好,消耗更少的电量。 – bbum 2010-12-13 21:08:30

0

我认为计时器可能会“开火”以便iPhone快速处理。我有这个相同的问题,不得不减慢计时器。

1

这是一个pebkac问题 - 我正在学习“整体字节”的仪器,它是应用程序曾经使用的所有内存的措施,而不是目前的内存使用量的措施。

我还是好奇如何衡量应用程序的当前总内存使用 - 作为“活字节”大约是1.5MB - 即使装.pngs至少20MB。