Android之IPC机制

来源:互联网 发布:阿里云imap设置 编辑:程序博客网 时间:2024/05/22 01:52

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

一.多进程
在Android中开启多线程只有一个方法,那就是给四大组件(Activity、Service、Receiver、ContentProvider)在AndroidManifest中指定android:process属性。
qq%e6%88%aa%e5%9b%be20160915092414
这里写图片描述
Mainvity没有为它指定process属性,所以它运行在默认的进程中,默认进程名是包名(序号为1)。
进程有以上两种命名方式,a种进程属于全局进程,其他应用通过ShareUID方式可以和它跑在同一个进程中,而b种命名方式的进程属于当前应用的私有进程。
所有运行在不同进程的四大组件,只要他们之间需要通过内存来共享数据,都会失败,这也是多进程所带来的问题。一般来说,使用多进程会造成如下几个方面的问题:
1.静态成员和单例模式完全失效
2.线程同步机制完全失效
3.SharePreferences的可靠性下降
4.Application会被多次创建

二、Serializable接口
这里写图片描述
如果不手动指定serialVersionUID的话,反序列当前类有所改变,比如增加或者删除了某些成员变量,那么serialVersionUID就会被重新赋值,于是反序列化失败,而手动指定后就不会出现这样的情况。不过,如果类结构出现的非常规性的改变,如修改了类名或者成员类型,那么即使serialVersionUID验证通过反序列也会失败,因为类结构有了毁灭性的变化。

三、Parcelable接口

四、Android中的IPC方式

1.Bundle。Android中的四大组件有三个( Activity、Service、Receiver)支持

2.使用文件共享

3.使用Messenger

4.使用AIDL

5.使用ContentProvider

6.使用Socket

0 0
原创粉丝点击