【发布时间】:2012-03-24 13:06:34
【问题描述】:
我正在制作一个带有增强现实的应用程序。
基本上我所拥有的是一个屏幕,上面有来自相机、雷达视图和一些标记的图像。
我正在使用 CLLocationManager 来获取有关我的航向和位置的更新。
我需要始终打开航向更新,因为雷达旋转取决于它。我正在使用位置更新来获取我的位置,并在此基础上寻找要显示的标记。
问题是,当我同时打开 iPhone 时,iPhone 过热了一段时间(10 +- 分钟)。我将精度设置为每 100 米,距离过滤器设置为 100。
我是否应该设置一个计时器来停止和开始更新位置以防止过热(并且可能也节省一些电池寿命)?还有其他方法吗?
感谢您的建议。
【问题讨论】:
-
这听起来确实像是您以某种方式过度使用 CPU。我曾经有一个应用程序陷入诺基亚手机的 CPU 循环中,并且它过热到足以软化将屏幕固定在一起的胶水。确保您的应用在应该等待事件时没有处于“旋转循环”中。
-
@HotLicks 我不认为这很糟糕 :),我的意思是它很温暖(iphone 并不经常加热,所以看到它温暖对我来说很奇怪)在右上角相机是(可能也是具有核心位置的东西)。我会按照 Kendall 的建议检查时间分析器,看看会发生什么
标签: iphone objective-c ios cllocationmanager augmented-reality