美文网首页
了解推送

了解推送

作者: Athephoenix | 来源:发表于2020-05-30 10:51 被阅读0次

    移动设备于服务器获取数据的两种主要方式,一种统一为pull,通过轮询的方式向服务器获取,另一种为push,由服务器下发。

    第一种方式有一个较大的缺点,性能开销大, 移动设备耗电

    因此选用推送的方式下发消息,
    实现的方式通过长链接来实现,其中因为NAT的存在, 为了不让NAT 表失效,我们需要定时的发心跳,以刷新NAT 表项,因此需要客户端定心发送心跳包来维持长链接
    实现方式可以是:

    1. AlarmManage ,AlarmManager 是Android 系统封装的用于管理RTC 的模块,RTC (Real Time Clock) 是一个独立的硬件时钟,可以在CPU 休眠时正常运行,在预设的时间到达时,通过中断唤醒CPU。这意味着,如果我们用AlarmManager 来定时执行任务,CPU 可以正常的休眠,只有在需要运行任务时醒来一段很短的时间。极光推送的Android SDK 就是基于这种技术实现的。
    1. thread.sleep + while的方式 这种方式和timer方式都存在增加service被回收的风险,因此还是建议使用AlarmManager的方式

    相关文章

      网友评论

          本文标题:了解推送

          本文链接:https://www.haomeiwen.com/subject/nxlczhtx.html