- 1、本文档共20页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
pull 适合场景: 比较适合数据变化比较快,实时要求不高的场合 push 适合场景: 比较适合数据不是经常变化 或者实时要求比较高的场合 * * 写 Android 的很多工程师是从写 java 中转过来的, 所以都有一些惯性思维。 (可以拿不断发消息的问题作为例子来讲, 没有考虑窄带网络的易断性。) 要考虑进行流控。 traceView (PowerManager wake lock / AlarmManager)在Android中,WakeLock可以让进程持续执行,即使手机关屏、进入睡眠模式. 不要使用一般的timer. Easy control over the Android PowerManager. Wake Lock gives you control over the Android PowerManager. For example, you can force the PowerManager to keep the screen on or have the CPU still running in standby mode. You can use it on any android phone or tablet.Use it to keep the screen on in full brightness or dimmed mode during movies or slideshows.To make sure the CPU is still running in the background doing your tasks when you press the standby button. A few keywords to help people:screenon,screen always on,keep awake,darken,dark3n,no sleep,nosleep,Keep on * 注:AP是负责应用处理的CPU核心 CP是负责网络处理的CPU核心 ? 目前SDK采用的4min一次心跳,任务执行完成并释放AP资源,仅花费了1-2s的时间,但是CP从唤醒到休眠却花了25s。CP的管理完全是由系统负责处理的,和应用层无关。 对于接收微博消息的情况也是非常类似的,消息接收完成后,CP核心还是需要25s才能休眠 ? 根据上述数据进行估算,由于上述问题导致的电量消耗为 100mA * 25s / 240s = 10.4mA 符合实际情况 * * * * * * * 推送系统关注点及策略解析 叶新江/Anson Ye @个推 @个信 @猪立叶-Anson Part 1 推送系统的关注点 One Push Can Change Everything 移动运营商时代的推送诉求 SMS 推送时代被证明了推送的价值 - 稳定、可靠 - 基本上终端无关 - 丰富的生态链 但是: - 内容不够丰富 - 大小限制 - 无法满足端对端的完成业务链 - 被滥用 移动互联时代的推送诉求 在享受了 SMS 推送的便利之上,希望附加: - 更低成本更高效率 - 展示的内容丰富,有声有色有视频 - 智能判断内容对应的应用,智能下载安装 - 和应用能互动, 能促进应用的活跃 - 对用户分段,针对性要强 - 用户具有管理权力 周知的推送平台 均偏重基础能力、存在痛点! 理想的推送系统 不仅仅是一个具备推送能力的平台,更是一个为满足整个生态发展,加强互动和协作的服务 推送系统的关注点 支持大规模高并发(千万级) 至少 99% 的有效送达率 至少 99.9 系统可用性 尽快的送达时间 降低用户侧成本(低耗电、低流量) 简单的开发集成 丰富的运营集成 Part 2 解决方案和策略 移动推送需要面对的主要技术挑战 推送方式选择 Pull 方式 优点: 由客户端进行控制,服务端开发相对简单 可以使用通用的 http client/server 缺点: 无论是否有内容,均需要消耗流量 频率的选择是关键 PUSH 方式 优点: 由客户端和服务端均可以进行控制 实时性较高 缺点: 服务端开发复杂,需要解决大并发连接的问题 推送方式选择 优先采用
文档评论(0)