zoukankan      html  css  js  c++  java
  • AIDL旅行记之开篇AIDL基本介绍

            嗨,伙伴们,计划了一周的想法最终要在这一刻实现了。

    一直都想写一个博客专栏,但是总是鼓不起勇气来写。感觉自己的水量还不太够。哈哈。这次下定决心,与小伙伴们一起分享下Android中的AIDL,从此,也就有了以下的故事。我把它叫做:AIDL旅行记。

            第一篇,我想以AIDL简单介绍,什么叫AIDL介绍的方式来開始。

    编写博文技术有限,存在的问题还希望大家多多指正。准备好了吗,让我们一起走进AIDL的世界吧。

           在手机中,我们所安装的App应用,普通情况下都是互相独立的执行,之间并没有什么关联。

    比方,当我们启动QQ音乐App,播放一首动听的歌曲,此时再去QQ中与好友进行聊天。两者同一时候进行,互不干扰。

    从操作系统方面理解,这是CPU前进的里程碑。

    而从我们的Android中理解,这是多个进程的相互转化。在Android中,小伙伴们都知道,每一个应用(Application)执行在它自己的进程中,无法直接调用到其它应用的资源,这就是所谓的“沙箱”。所谓沙箱,简单地说意指部分地或所有地隔离应用程序。


    因此。在Android中。当一个应用被运行时。一些操作是被限制的,比方訪问内存。訪问传感器。等等。这样做能够最大化地保护系统,免得应用程序“为所欲为”。
    那我们有时须要在应用间(即不同的App)交互。怎么办呢?于是,Google为我们提供了非常好的实现方式。

    即IPC协议。IPC全称为:interprocess communication(跨进程间通信)。单独编写这个协议还是有点复杂的,主要考虑到须要实如今进程或线程间传递数据。

    只是没关系。Google考虑到了我们的痛楚,为我们提供了一个利器:AIDL。

    以下,我们一起开启学习AIDL的快乐之旅。

    在Android中,Google为我们提供了三种IPC通信方式,分别为:

    (1)AIDL:

    (2)Binder:

    (3)Messager:

    (4)既然Google为我们提供了三种IPC通信方式。三者之间肯定是有差别的,从官方文档中,我们能够了解到三者的下面差别:

    (5)AIDL:适合多线程,多个应用程序,进行IPC通信。

    (6)Binder:适合多个应用程序,不是多线程的情况下进行IPC通信。

    (7)Messager:仅仅是进行IPC通信,不适合多线程多应用的情况。

    从上面能够看到,AIDL为我们所做的工作是最多的。也是最强大的。

    这里又会反射出一个问题,即AIDL在底层的占用消耗也是最大的。

    所以,使用AIDL要适宜。

      

         Ok,AIDL的简介就到这里了。相信小伙伴们对AIDL都有了一个简单的认识,以及在Android开发过程中使用AIDL的场景。下一篇。我们将会详细分析AIDL的使用过程



  • 相关阅读:
    Servlet CDI Example Analysis
    JSON续
    JSON
    Ubuntu 下安装 MySQL
    Filter介绍
    Annotation相关
    Container、Injection
    Java buildTools
    Http协议
    URI URL URN 的区别
  • 原文地址:https://www.cnblogs.com/cxchanpin/p/7354297.html
Copyright © 2011-2022 走看看