• AIDL与stub


     Stub翻译成中文是存根的意思,注意Stub对象是在被调用端进程,也就是服务端进程,至此,服务端aidl服务端得编码完成了。 

    stub是为了方便client,service交互而生成出来的代码。
    AIDL(android 接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访问另一个进程中(例如:一个Service)某个对象的方法,你就可以使用AIDL来生成这样的代码来伪装传递各种参数。
    要使用AIDL,Service需要以aidl文件的方式提供服务接口,AIDL工具将生成一个相应的java接口,并且在生成的服务接口中包含一个功能调用的stub服务桩类。Service的实现类需要去继承这个stub服务桩类。Service的onBind方法会返回实现类的对象,之后你就可以使用它了。
    交互过程client<-->proxy<-->stub<-->service

     aidl 只是跨进程用的一种工具,调用的java的binder 然后java binder 还是用的native的binder进行通信 


    stub和proxy是为了方便client/service交互而生成出来的代码,这样client/service的代码就会比较干净,不会嵌入很多很难懂的与业务无关的代码

  • 相关阅读:
    Bulls and Cows leetcode
    Binary Search Tree Iterator leetcode
    Binary Tree Paths leetcode
    Largest Number leetcode
    Reverse Words in a String leetcode
    Fraction to Recurring Decimal leetcode
    Compare Version Numbers leetcode
    [LeetCode] 1025. Divisor Game
    [LeetCode] 64. Minimum Path Sum
    [LeetCode] 62. Unique Paths
  • 原文地址:https://www.cnblogs.com/Ph-one/p/4447483.html
Copyright © 2020-2023  润新知