Android面试题-与xmpp相关面试题
来源:互联网 发布:属于网络调查的特点是 编辑:程序博客网 时间:2024/05/18 18:03
本文配套视频
- 极光推送原理配套视频
- xmpp基本概念配套视频
- 配套视频
源码分析相关面试题
- Volley源码分析
- 注解框架实现原理
- okhttp3.0源码分析
与XMPP相关面试题
- 与XMPP相关试题一
- 与XMPP相关试题二
与性能优化相关面试题
- 与性能优化相关面试题一
- 与性能优化相关面试题二
- 与性能优化相关面试题三
- 与性能优化相关面试题四
- 与性能优化相关面试题五
- 与性能优化相关面试题六
- 与IPC机制相关面试题
与登录相关面试题
- oauth认证协议原理
- token产生的意义
- 微信扫一扫实现原理
与开发相关面试题
- 迭代开发的时候如何向前兼容新旧接口
- 手把手教你如何解决as jar包冲突
- context的原理分析
与人事相关面试题
- 人事面试宝典
4-简单阐述一下及时推送原理?
a) 传统获取服务器数据使用的是pull模式,是客户端向服务器请求数据。从客户端发起连接请求,获取到服务器数据后就关闭连接。当连接断开后,服务器就会失去客户端的地址,因此无法主动向客户端发送消息。
b) 推送(push)是服务主动向客户端发送数据。
它的原理是保持一个长连接,当客户端和服务器建立连接后不再断开,这样服务器随时有新消息都可以发送给客户端。
长连接和短连接。所谓长连接,指在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接。
while(true) { request(timeout); request(timeout);}
短连接是指通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接,即每次TCP连接只完成一对
c) 至于如何获取推送消息。由于服务端传来推送消息的时间是不确定的,这里只能等待推送SDK的回调,比如通过注册监听或者广播接收者。不同的厂商的推送SDK可能会有不同的处理方案,以百度推送SDK来说,是通过广播接收者获取推送数据。
5-简要说明一下openfire、smack、spark
openfire是基于XMPP协议的即时通信的服务器端的一个实现,你不需要编写一行服务端的代码,实现一个简单的点对点通信或是简单的群聊.
smack 是XMPP传输协议的Java实现,提供了一套API接口 可以连接服务端。一般用于快速开发手机客户端。
spark是基于smack实现的一个XMPP即时通信客户端(PC端的)。
6-列出几种常见的解决消息即时获取方案
轮询(Pull)方式:客户端定时向服务器发送询问消息,一旦服务器有变化则立即同步消息。
SMS(短信消息)(Push)方式:通过拦截SMS消息并且解析消息内容来了解服务器的命令,但这种方式一般用户在经济上很难承受。
持久连接(Push)方式:客户端和服务器之间建立长久连接,这样就可以实现消息的及时行和实时性。
7-Timer比AlarmManager实现心跳时更耗电原因
一. Timer
Android 的 Timer 类可以用来计划需要循环执行的任务。
Timer 的问题是它需要用 WakeLock 让 CPU 保持唤醒状态,这样会大量消耗手机电量,
大大减短手机待机时间。这种方式不能满足我们的需求。
二. AlarmManager
AlarmManager 是 Android 系统封装的用于管理 RTC 的模块,RTC (Real Time Clock) 是一个独立的硬件时钟,可以在 CPU 休眠时正常运行,在预设的时间到达时,通过中断唤醒 CPU。这意味着,如果我们用 AlarmManager 来定时执行任务,CPU 可以正常的休眠,只有在需要运行任务时醒来一段很短的时间。
- 欢迎关注微信公众号,长期推荐技术文章和技术视频
- Android面试题-与xmpp相关面试题
- Android面试题-与XMPP相关试题一
- android面试题-与IPC机制相关面试题
- Android面试题-与性能优化相关面试题一
- Android面试题-与性能优化相关面试题二
- Android面试题-与性能优化相关面试题三
- Android面试题-与性能优化相关面试题四
- Android面试题-与性能优化相关面试题五
- Android面试题-与性能优化相关面试题六
- Android相关面试题
- android相关面试题
- Android面试题相关
- android与java面试题
- Android面试题:消息机制与异步相关
- [面试题] 随机数相关面试题(1)
- [面试题] 随机数相关面试题(2)
- 字符串相关面试题
- 相关面试题 回答
- echarts的简单案例
- servlet错误 :HTTP Status 500
- 架构设计:系统存储(29)——分布式文件系统Ceph(管理)
- ELK搭建日志联合分析系统
- 原生js实现复制浏览器内容
- Android面试题-与xmpp相关面试题
- Java设计模式----适配器模式
- sql 读取excle 中数据
- iOS 跳转到Appstore对应的应用
- 题目1163:素数 九度OJ
- Java对象序列化
- C#学习之ToString()和Convert.ToString()的用法区别
- js的36个设计模式:行为型模式
- 文字在div中水平均匀分布