Android 平台上长连接的实现
来源:互联网 发布:网络新闻稿 编辑:程序博客网 时间:2024/06/11 12:58
Android 平台上长连接的实现
为了不让 NAT 表失效,我们需要定时的发心跳,以刷新 NAT 表项,避免被淘汰。
Android 上定时运行任务常用的方法有2种,一种方法用 Timer,另一种是AlarmManager。
Timer
Android 的 Timer 类可以用来计划需要循环执行的任务,Timer 的问题是它需要用 WakeLock 让 CPU 保持唤醒状态,这样会大量消耗手机电量,大大减短手机待机时间。这种方式不能满足我们的需求。
AlarmManager
AlarmManager 是 Android 系统封装的用于管理 RTC 的模块,RTC (Real Time Clock) 是一个独立的硬件时钟,可以在 CPU 休眠时正常运行,在预设的时间到达时,通过中断唤醒 CPU。
这意味着,如果我们用 AlarmManager 来定时执行任务,CPU 可以正常的休眠,只有在需要运行任务时醒来一段很短的时间。极光推送的 Android SDK 就是基于这种技术实现的。
0 0
- Android 平台上长连接的实现
- Android 平台上长连接的实现
- Android 长连接实现
- android长连接实现
- smack 源码分析一(android上实现长连接)
- smack 源码分析- PacketWriter (android上实现长连接)
- smack 源码分析- PacketReader (android上实现长连接)
- smack 源码分析1(android上实现长连接)
- smack 源码分析一(android上实现长连接)【1】
- smack 源码分析- PacketWriter (android上实现长连接)【2】
- smack 源码分析- PacketReader (android上实现长连接)【3】
- smack 源码分析一(android上实现长连接)
- smack 源码分析- PacketWriter (android上实现长连接)
- smack 源码分析- PacketReader (android上实现长连接)
- smack 源码分析一(android上实现长连接)【1】
- smack 源码分析- PacketWriter (android上实现长连接)2
- smack 源码分析- PacketReader (android上实现长连接)【3】
- android实现长连接流程图
- 多线程一定比单线程效率更高吗?
- linux 常用命令
- 什么是Map/Reduce
- iptc example
- rails将类常量重构到数据库对应的表之后记
- Android 平台上长连接的实现
- 启动脚本
- C++11 lambda表达式
- DOCTYPE html PUBLIC 让人吐血的问题(转载)div.style.left为空
- (507C)codeforce
- iOS中Base64编码解码
- Java小技巧-在图片上写数据(数据封装成图片返回给前端)
- Jedis(Redis)使用示例
- 强制获取状态栏DecorView的高度