首页 > 其他分享 >AIDL中的in,out,inout用法篇

AIDL中的in,out,inout用法篇

时间:2023-11-28 16:58:46浏览次数:41  
标签:AIDL 对象 server client 进程 序列化 数据 inout out

Android两个进程间的内存相互独立不能互相访问,跨进程传输非默认类型对象需要先序列化,序列化的目的是将对象数据以能够在内存中流通的形式从

一个进程传递到另一个进程,两个进程对象的传递类似深度clone,client端就对象数据写入Parcel(writeToParcel)server端从Parcel(readFromParcel)读取对象数据并

重新创建一个同样的对象将读取的数据填充到此对象,但这两个对象并不是一样的,只是他们的数据完全一样。

 

两个进程中要传递的对象必须实现Parcelable接口,AIDL中序列化的对象传递还必须指定定向tag,tag表示数据的流通方向。

 

in:由client端流向server端,server端可以收到此对象的所有数据,收到之后会重新创建一个新的对象将数据填充进去,因为client端和server端是两个不同的对象,

所以server端对数据的修改不会影响到client端的对象

 

out: 有server端流向client端,client端将对象传递给server端后,server端相当于收到了一个空对象,没有client端此对象的任何数据,但是server端对此空对象的操作会影响到client端

 

inout:对象可以双向流动。即server端能收到client发过来的对象的数据,server端对此对象的操作也能影响到client对象

 

标签:AIDL,对象,server,client,进程,序列化,数据,inout,out
From: https://www.cnblogs.com/jiayonghua/p/17862363.html

相关文章

  • React学习三:Redux和ReactRouter
    Reduxredux是一个仓库,用来存储数据。当react中多个组件需要用到同一个数据时,如果我们一次次地请求会比较麻烦,也会加大服务器的压力。这种多组件用到的数据就可以存放到redux仓库中。redux仓库使用原生的依赖创建比较繁琐,为了更快创建使用"@reduxjs/toolkit"这个依赖包。创建好的......
  • SQL FULL OUTER JOIN 关键字:左右表中所有记录的全连接解析
    SQLRIGHTJOIN关键字SQLRIGHTJOIN关键字返回右表(table2)中的所有记录以及左表(table1)中的匹配记录。如果没有匹配,则左侧的结果为0条记录。RIGHTJOIN语法SELECTcolumn_name(s)FROMtable1RIGHTJOINtable2ONtable1.column_name=table2.column_name;注意:在某些数据库......
  • SQL FULL OUTER JOIN 关键字:左右表中所有记录的全连接解析
    SQLRIGHTJOIN关键字SQLRIGHTJOIN关键字返回右表(table2)中的所有记录以及左表(table1)中的匹配记录。如果没有匹配,则左侧的结果为0条记录。RIGHTJOIN语法SELECTcolumn_name(s)FROMtable1RIGHTJOINtable2ONtable1.column_name=table2.column_name;注意:在某些数据库......
  • Fanout广播
     在广播模式下,消息发送流程是这样的:1)可以有多个队列2)每个队列都要绑定到Exchange(交换机)3)生产者发送的消息,只能发送到交换机,交换机来决定要发给哪个队列,生产者无法决定4)交换机把消息发送给绑定过的所有队列5)订阅队列的消费者都能拿到消息 ......
  • 高级前端开发工程师必备:Hooks、React Router v6 和状态管理
    点击下方“前端开发博客”,关注并“设为星标”大家好,我是漫步最近一个大佬的简历这样子写的,“可以熟练利用react全家桶进行开发。对ahooks部分源码阅读,加深对hooks的基本使用及其内部的实现原理有了深层次的理解;阅读过react-rouerv6的源码,进行过技术分享;对技术选型(redux、......
  • How Can South Asia Adapt Integrated River Basin Management to Its Soil Erosion
    Duetotheinstabilityofthemonsoon,floodsanddroughtsarefrequentinSouthAsia,resultinginseveresoilerosion.Everyyear,SouthAsiasuffershugelossesduetosoilerosion,includingpropertydamage,humancasualties,andenvironmentaldamage.......
  • LAKESPY Outdoors Life
     LAKESPYWelcometo LAKESPY OutdoorsLife. [email protected]. Youcanalsovisitourwebsite:www.lakespy.com......
  • [Codeforces] CF1703F Yet Another Problem About Pairs Satisfying an Inequality
    时间限制\(2s\)|空间限制\(250M\)题目描述给你一个序列$a_1,a_2,\dotsa_n$。请计算出满足下面条件的$(i,j)(1\leqi,j\leqn)$个数。$a_i<i<a_j<j$.输入格式第一行包含一个整数$t$($1\leqt\leq1000$)—测试数据的个数每一个......
  • error:0308010C:digital envelope routines::unsupported
    执行:npmrunserve 出现:error:0308010C:digitalenveloperoutines::unsupported原因:npm版本升级解决:package.json增加配置"scripts":{"serve":"setNODE_OPTIONS=--openssl-legacy-provider&&vue-cli-serviceserve","b......
  • General error: 1205 Lock wait timeout exceeded; try restarting transaction【事务
    转载:https://blog.51cto.com/u_12390904/6254246       ......