
android_Aidl
litefish
never stop,never give up
展开
-
aidl ( 六) 加入序列化对象传输
在之前的文章中,我们传的都是java基本类型或者string,其实aidl也可以传序列化好的对象,序列化 的对象必须实现Parcelable接口。我们来举个例子说明aidl如何传输序列化数据的,参考module为aidlclient3和aidlserver3。aidlclient3在aidlclient1的基础上修改,aidlserver3在aidlserver2 的基础上修改。先看客户...原创 2016-03-18 17:26:31 · 2294 阅读 · 0 评论 -
aidl ( 二) 多进程调试
在上篇文章http://blog.youkuaiyun.com/litefish/article/details/45697229的基础上,介绍下aidl的调试1、在AidlClient中打断点2、在AidlServer中打断点3、AidlServer模块debug运行起来,AidlClietn模块debug运行起来4、AidlClietn模块debug运行起来原创 2015-05-14 18:40:46 · 1599 阅读 · 0 评论 -
aidl ( 五) 三的代码优化
在(三)中,MyService本身在进程com.myservice中,MyService内部还有个计时线程,MyService还有个主线程,这里有一个进程,2个线程。MyService的主线程除了生命周期函数基本不做其他事情,能否把2个线程合并成一个呢?当然可以的,MyService的主线程是有Looper'的,可以用handler来计时。原创 2015-05-31 23:22:07 · 661 阅读 · 0 评论 -
aidl ( 四) 各部分代码的执行进程和线程
首先看bind service时,onServiceConnected是在前台进程的主线程内myAIDLInterface.setCallback(callback);这句话会跨进程,调用service内的setCallback,执行service的setCallback是在service的非主线程内(service的oncreate为主线程).换句话说,myAIDLInterface.set原创 2015-05-28 22:32:47 · 2663 阅读 · 0 评论 -
aidl ( 七) RemoteCallbackList
五的代码 service是有个独立进程的,也就是任何一个activity只要有action就可以bind到此service,如果有很多个activity都bind到了此service中,该怎么处理呢?RemoteCallbackList。可以参考ApiDemo中的 App/service/remote service binding。service代码如下:public class R原创 2015-06-01 23:01:10 · 1365 阅读 · 0 评论 -
aidl ( 三) 后台service通知前台activity
在上上篇文章中提到了,前台activity主动去获取后台service里的数据或者调用service里的方法。那么后台service是否可以主动通知前台activity呢?比如我后台在计时,我要把时间值显示在前台界面上。当然可以了,还是aidl,得再写一个aidl,把回调设置到service内。要想后台service主动通知前台activity,至少要写2个aidl先写server端代原创 2015-05-28 20:06:30 · 1280 阅读 · 0 评论 -
android的Binder机制入门
正文android的Binder机制是IPC中非常重要的,往往通过编写aidl文件来实现。aidl编译会生成一个java文件,本文以后边的代码为例来说明,后边的代码就是aidl文件编辑生成的java文件,来源于AidlClient这个module中首先这个java文件是个接口,继承自android.os.IInterface,aidl实际上是个中间文件,或者说android提供给大原创 2016-01-21 22:26:20 · 839 阅读 · 0 评论 -
aidl ( 一 ) activity获取后台service数据
在 service和activity通信这篇文章的基础上,我们再来学习aidl。aidl是android跨进程通信的常用方法AIDL对Java类型的支持如下:1.AIDL支持Java原始数据类型。2.AIDL支持String和CharSequence。3.AIDL支持传递其他AIDL接口,但你引用的每个AIDL接口都需要一个import语句,即使位于同...原创 2015-05-13 19:36:47 · 1921 阅读 · 0 评论 -
检测requestlayout in layout问题
前言相信大家也遇到过类似的问题,比如TextView文字显示不全,view没有按期望的显示或者隐藏,页面没有按期望的刷新,而且这些bug都在4.3以下必现,4.3以上系统就没问题了。这往往是requestLayout in layout问题,这类问题往往都需要花比较久的时间来定位解决,我最近碰到了几次,感觉特别浪费时间,很难找到问题的关键代码,所以准备写一个工具来解决检测这种问题,打印出问题代码的堆原创 2017-12-16 19:01:23 · 733 阅读 · 0 评论