Android开发艺术探索——IPC之Messenger、AIDL
2016-07-15 11:30
375 查看
买了任大神的书也有一段时间,之前一直断断续续的看看,效果不是大。从昨天开始,我决定认真的研读一下这本书,顺便也开通自己个人的csdn博客,把自己每天学习的过程已博客的形式记录下来。
关于Android的AIDL,虽然之前在工作中由于有简单的使用过AIDL,但是当时照着网上的文章自己照葫芦画瓢的,完全不懂其中的原理。在看了任大神的详细讲解之后,我知道了Android中不管是Messenger还是AIDL,归根结底它们底下都是通过android的Binder实现的,而进程间通讯的数据全部是以parcelable的方式去序列化。简单的说,把进程间通讯比喻成两个城市间的交通,Binder就是交通的指挥者,parcelable就是交通的运输方式。
书上有一点还有待曾酌:书上P81上说AIDL客户端的回调函数在客户端的Binder的线程池中执行的,但是我自己的代码却是在main线程中执行,不知道是不是版本的问题,用的6.0的模拟器。其他的没什么了,书写的很好,基本容易踩到的坑都给指出来了。
代码地址:https://github.com/deng890326/MessengerSample,https://github.com/deng890326/AidlSample
关于Android的AIDL,虽然之前在工作中由于有简单的使用过AIDL,但是当时照着网上的文章自己照葫芦画瓢的,完全不懂其中的原理。在看了任大神的详细讲解之后,我知道了Android中不管是Messenger还是AIDL,归根结底它们底下都是通过android的Binder实现的,而进程间通讯的数据全部是以parcelable的方式去序列化。简单的说,把进程间通讯比喻成两个城市间的交通,Binder就是交通的指挥者,parcelable就是交通的运输方式。
书上有一点还有待曾酌:书上P81上说AIDL客户端的回调函数在客户端的Binder的线程池中执行的,但是我自己的代码却是在main线程中执行,不知道是不是版本的问题,用的6.0的模拟器。其他的没什么了,书写的很好,基本容易踩到的坑都给指出来了。
代码地址:https://github.com/deng890326/MessengerSample,https://github.com/deng890326/AidlSample
相关文章推荐
- 将HTML5封装成android应用APK文件的几种方法
- Android学QQ聊天列表展示ListView
- Android 开发你需要了解的 Gradle 配置
- Android Studio关于SVN的相关配置简介
- 基本绘画view
- Android自定义imageview可对图片进行多点缩放和拖动
- 开启Android学习新篇章
- Android Studio如何安装插件
- android如何编译出适用于不同平台的库文件
- Android 实现全屏和无标题栏的显示
- android后台信息推送调研
- 安卓的Recyclerview,CradView
- Android基础(二)
- Android Studio捕获异常
- Android自定义控件实现可左右滑动的导航条
- android中invalidate()的自动清屏含义以及屏幕刷新
- 《Android源码设计模式解析与实战》一、ImageLoader图片加载的设计
- Android相关网址
- 正则表达式匹配被忽略的异常
- binbinyang--介绍一个GITHUB上的轮播图-Android Image Slider(com.daimajia.slider.library.SliderLayout)