Android开发艺术探索-- IPC

1 基本概念

1.1 android开启多进程的方式:

  • 在menifest中指定android:process属性
  • 通过jni在native层fork一个进程

两种配置process的方式

1    android:process:":remote"
2    android:process:"com.ryg.cha.remote"

:方式表示在当前进程名后加上remote,为当前应用私有进程,其它应用的组件不可以跑在这个进程。
而完整进程名的进程属于全局进程,其它应用的组件可以通过shareUID和它跑在统一进程。(还需要签名相同。)

1.2 Serializable和Parceable接口

接口类型 使用步骤 特点 适用场景 注意事项
Serializable 实现Serializable接口并声明serialVersionUID java接口,使用简单但开销大,生成大量临时变量,大量IO,容易引起频繁GC 序列化到存储设备或者网络传输 transient变量不参与序列化
Parceable 实现Parcelable接口,(1)重写writeToParcel方法,序列化为Parcel对象;(2)describeContents,默认返回1(3)实例化静态内部对象CREATOR实现接口Parcelable.Creator,反序列化 android接口,效率更高,性能更优,推荐方式 内存序列化(例如Intent间数据传递、IPC),不能使用在将数据存储在磁盘的情况 成员变量中有对象类型时,反序列化需要传递当前线程的上下文类加载器

更多内容可参考:Android中Serializable和Parcelable序列化对象详解

1.3 序列化与持久化的区别

名称 作用 解决什么问题
序列化 把内存中的对象变成流的形式 对象传输的问题,如何把对象变成字节流
持久化 将内存中的对象存储在永久保存的磁盘上面 对象存储和恢复的问题

参考:JAVA的序列化和持久化的区别与联系

你可能感兴趣的:(Android开发艺术探索-- IPC)