美文网首页
Android 面试集合(二)

Android 面试集合(二)

作者: IT一书生 | 来源:发表于2018-04-25 10:03 被阅读43次

IPC机制

概念:进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。
线程:一般指CPU调度的最小单元.
进程:一般指一个执行单元,在PC和移动设备上指一个程序或一个应用.

image.png

详细介绍:
https://blog.csdn.net/zizidemenghanxiao/article/details/50341773
https://blog.csdn.net/lxzmmd/article/details/51440981

Android 消息推送

  • 概念:主动向APP用户推送消息
  • 原理:主要有两种方式:、Pull
    1.Pull:(基于短连接)客户端隔固定时间主动向服务器获取消息,有最新消息,则推送到客户端。
    2.Push:(基于长连接)服务器有更新消息时,主动发送给客户端
    注:Push方式会优于Pull,Pull不断监听服务器信息变化,更费资源。
  • 消息推送七种方案:
名称 概念 原理 描述 优点 缺点
C2DM(云端推送) Android系统级别的消息推送服务 基于Push方式 C2DM服务负责处理诸如消息排队等事务,并向运行于目标设备上的应用程序分发这些消息。 C2DM提供了一个简单的、轻量级的机制,允许服务器可以通知移动应用程序直接与服务器进行通信,以便于从服务器获取应用程序更新和用户数据。 1、依赖于Google官方提供的C2DM服务器,需要翻墙,成本高;2、需要用户手机安装Google服务。
轮询 ** 基于Pull方式 应用程序隔固定时间主动与服务器进行连接并查询是否有新的消息 实时性好 1、成本大,需要自己实现与服务器之间的通信,例如消息排队等;2、到达率不确定,考虑轮询的频率:太低可能导致消息的延迟;太高,更费客户端的资源(CPU资源、网络流量、系统电量)和服务器资源(网络带宽)
SMS信令推送 ** 基于Push方式 服务器有新消息时,发送1条类似短信的信令给客户端,客户端通过拦截信令,解析消息内容 / 向服务器获取信息 可实现完全的实时操作 成本高(主要是短信资费的支出)
MQTT协议 轻量级的消息发布/订阅协议 基于Push方式 wmqtt.jar 是IBM提供的MQTT协议的实现 ** **
XMPP协议 可扩展消息与存在协议,是基于可扩展标记语言(XML)的协议,是目前主流的四种IM协议之一 ** XMPP中定义了三个角色,分别是客户端、服务器和网关 1、开源;2、简单(XML易于解析与阅读);3、扩展性强 如果将消息从服务器上推送出去,则不管消息是否成功到达客户端手机上。
第三方平台 相关推送平台 ** 小米、华为;极光、友盟、云巴;阿里云移动推送、腾讯信鸽推送、百度云推送 实现简单、到达率高 安全性低,服务会被杀死
自己搭建 ** ** 如果你的产品对于消息推送具备较高的功能和性能要求,同时对安全性要求非常高的话,自己搭建可能是最好的方式,但这种方式无疑成本是最高的。 安全性高 成本高
  • Android 和 IOS 推送区别
image.png

参考:https://www.jianshu.com/p/b61a49e0279f

相关文章

  • Android 面试集合(二)

    IPC机制 概念:进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。线程:一般指CPU调度的最小单元....

  • 2019年Android 高级面试(大型Bat集合)

    Android 高级面试集合 面试地址GitHub地址喜欢的话 点个start哦 2019年Bat面试集合 架构相...

  • Android面试题

    Android面试必备: (一)、Java面试题 (二)、Android面试题 (三)、Android高级面试题

  • Nothing seek,Nothing find

    美图欣赏 Java、Android知识点汇集 Java集合类 ** Java集合相关的博客** java面试相关 ...

  • [转]安卓面试题合集

    前几天整理了Java面试题集合,今天再来整理下Android相关的面试题集合.如果你希望能得到最新的消息,可以关注...

  • Android 面试集合(六)

    1、锁的机制[https://juejin.cn/post/6942031707612643359] 2、Acti...

  • Android 面试集合(一)

    面向对象和面向过程的区别 面向过程编程(pop):以“事件”为核心的编程思想。就是分析出解决问题所需的步骤,然后用...

  • Android 面试集合(四)

    HandlerHandler对象与其调用者在同一线程中,如果在Handler中设置了延时操作,则调用线程也会堵塞。...

  • Android 面试集合(三)

    01、抽象类和接口的区别 接口是对动作的抽象,抽象类是对根源的抽象。 抽象类要被子类继承,接口要被子类实现。 抽象...

  • Android 面试集合(五)

    1、JVM和DVM之间的区别: dvm执行的是.dex格式文件 jvm执行的是.class文件 androi...

网友评论

      本文标题:Android 面试集合(二)

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