- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
obj-c 和 iOS 相对较新,但我创建了一个围绕 4 个简单的秒表式计时器构建的小应用程序。用户启动一个计时器,它开始计时,然后他们继续他们的生活。当他们打开应用程序时,他们可以看到它进行了多长时间。单独来看,这些计时器与 Apple Clock 应用程序中的计时器相同。
这在“大部分”时间都有效。我已经让计时器运行了好几天,启动、停止、重置、重新启动。但我注意到的是,如果该应用程序被推到多任务抽屉的下方太远,下次我打开该应用程序时,我的所有计时器都将为零,并且该应用程序将处于刚启动的状态。
对我来说,这似乎与操作系统认为不需要我的应用程序有关,杀死它的线程/进程/任何东西以释放内存。对于应用程序的目标受众,它将是一个经常检查的应用程序,因此这可能不会成为问题,但似乎应该有一些技术方法来确保我的秒表永远不会失败。我只是不确定在哪里可以找到这种功能。任何想法表示赞赏。
谢谢!
最佳答案
你做错了。
如果你构建一个带有 10 个计时器的秒表应用程序,你只需要一个 NSTimer。
这个计时器刷新显示。当应用程序处于后台时不需要此计时器。
NSTimers 有一个问题,他们可能会迟到,他们不应该被用来安排时间关键的事情(比如倒计时)。
启动计时器时存储当前的 NSDate 并在应用程序中显示差异。
将这些 NSDates 存储到 NSUserDefaults,它们甚至可以在设备重启后继续存在。
关于objective-c - 防止 iOS NSTimers 在后台被杀死的技术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7274926/
我试图理解什么是 -XX:OnOutOfMemoryError='kill %p' 下面的命令是什么意思? 我不确定 %p 是什么意思? exec /bin/bash -c "LD_LIBRARY_P
我试图理解什么是 -XX:OnOutOfMemoryError='kill %p' 下面的命令是什么意思? 我不确定 %p 是什么意思? exec /bin/bash -c "LD_LIBRARY_P
这个问题在这里已经有了答案: Solving "adb server version doesn't match this client" error [duplicate] (17 个答案) 关闭
我是一名优秀的程序员,十分优秀!