Android 面试集合(二)

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 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,679评论 25 708
  • Android(2017-2018)BAT面试题整理(Android篇,含答案) 版权声明:本文为博主原创文章,未...
    nic启立阅读 30,524评论 11 471
  • 本系列出于AWeiLoveAndroid的分享,在此感谢,再结合自身经验查漏补缺,完善答案。以成系统。 Andro...
    济公大将阅读 1,853评论 2 10
  • 今天是有关护肤的三个小故事,情节人物均为虚构,仅是我个人对化妆品行业一些现象的叙述和演绎,请勿对号入座哟! ​ 故...
    梅浩然阅读 6,607评论 0 0
  • 藏,是一个神秘而又抽象的字眼...看到它,脑海中便浮想联翩,思绪万千。它使我想到了那些本应被我们追求,被我们珍惜...
    傾城雪阅读 213评论 0 3