locationd守护进程不断获得jetsammed ios 8.1

时间:2014-11-11 10:24:53

标签: ios swift

我试图在我正在制作的应用中使用用户位置,但每天都会有一次定位守护进程被jetsammed,因为我的应用停止接收位置数据。

如果我将我的应用程序或任何其他位置感知应用程序带到前台,守护程序将重新启动,但在此之前可能会有很长时间的暂停

定位的足迹相当小,但它的高水位也非常低,所以看起来很容易进入危险区域。

最大的流程可以是任何东西,从Facebook,DespicableMe,Paper,Zen Garden到我的应用程序,我在这里看不到真正的模式,当我发现这种情况时我的应用程序没有被杀或收到低内存通知

下面的一些jetsam条目

ProcessesName       |            <UUID>                |     CPU Time|     rpages|       purgeable| recent_max| lifetime_max| fds |  [reason]         | (state)

locationd <bea15e205fed399c957ba05a7086271f>       759.999        6911                0         +58          8279   50      [highwater]      (daemon)

locationd <bea15e205fed399c957ba05a7086271f>      1940.653        6896                0           -          8683   50      [highwater]      (daemon)

locationd <bea15e205fed399c957ba05a7086271f>      1954.360        7155                0           -          8701   50      [highwater]      (daemon)


locationd <bea15e205fed399c957ba05a7086271f>      4612.639        6551                0           -          7743  100      [highwater]      (daemon)

不确定我能做些什么来阻止jetsamming定位或原因可能是什么。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

回答我自己的问题。

如果您正在使用“使用时”位置权限并且出于某种原因定位回收(给定足够的时间,任何进程都会),您的应用在前台获取的先前权限不会转发给新的实例,这就是为什么在重新启动应用程序位置更新之前不会恢复。 这很可能是一个错误。

如果您使用“始终”位置权限,那么您不会遇到此问题,任何locationd实例都会为您提供数据。