Android中的IPC机制

一.IPC是Inter-Process Communication的缩写,含义为进程间通信。是指两个进程之间进行数据交换的过程。

Android中会为每一个应用分配一个独立的虚拟机,或者说为每个进程都分配一个独立的虚拟机,不同的虚拟机在内存分配上有不同的地址空间,这就导致在不同的虚拟机中访问同一个类的对象会产生多分副本。

使用多线程会造成的问题:

1.静态成员和单例模式完全失效;

2.线程同步机制完全失效;

3.SharePreference的可靠性下降;

   4.Application会多次创建。

二.IPC基础概念:

1.Seriaizable接口:

Seriaizable是Java所提供的一个序列化接口,它是一个空接口,为对象提供标准的序列化和反序列化操作。实现Seriaizable序列化只需Bean类实现Seriaizable接口类即可。

对对象的序列化和反序列的操作只需采用ObjectOutPutStream和ObjectInPutStream:

  //序列化
User user=new User(0,"wang",true);
ObjectOutPutStream out=new ObjectOutPutStream (new FileOutPutStream("cache,text"));
out.wrteObject(user);
out.close;

  //反序列化
ObjectInPutStream out=new ObjectInPutStream (new FileOutPutStream("cache,text"));
User newUser=(User)in.readObject();
in.close;


2.Pareclable接口:

Pareclable也是一个接口,只要实现这个接口,一个类的对象就可以实现序列化并可以通过Intent和Binder传递。

3.Binder:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值