我正在开发一个应用程序,我们不断通过远程通知从服务器ping设备,以检查用户是否正在使用该应用程序(在前台/后台/暂停中)。
为此,我每5分钟向设备发送一次远程通知。这个远程通知唤醒了我的应用程序。该应用程序然后在服务器上调用一个方法说“我活着"。
这不是聊天应用程序,因此没有套接字。但我需要知道用户是否处于登录状态,因此连续ping以检查状态。
这对我来说在iPAD上工作30-40个小时很好,但它在iPhone上只能工作10-12个小时。
在iPhone上玩了12个小时之后,我跟踪了日志,我发现设备DID收到了通知,但它从未唤醒过可以告诉服务器用户是否在线的代码。
设备可以从服务器接收的通知数量是否有限制?我太频繁了吗?另外,我是否会增加堆大小或可能推动操作系统不要唤醒我的应用程序的东西?
如果发布代码有帮助,请告诉我。谢谢!