学习进度2

1、如果AIDL文件中用到了自定义的Parcelable对象,那么必须新建一个和它同名的AIDL文件,并在其中声明它为Parcelable类型。

2、Android中有Intent、文件共享、SharedPreferences、Binder通信、ContentProvider、网络通信等多种IPC通信机制,各种通信机制的特点如下:

  • Intent:Activity、Receiver、Service这三个组件都支持Intent通信,Intent适合于传递可序列化的数据;

  • 文件共享:文件共享方式适合在对数据同步要求不高的进程之间进行通信,并且要妥善处理并发读/写的问题。

  • SharedPreferences:SharedPreferences也属于文件的一种(以键值对方式存储数据的一个xml文件),但是由于系统对它的读/写有一定的缓存策略,即在内存中会有一份SharedPreferences文件的缓存,因此在多进程模式下,系统对它的读/写就变得不可靠,当面对高并发的读/写访问,SharedPreferences有很大几率会丢失数据,因此,不建议在进程间通信中使用SharedPreferences(MODE_MULTI_PROCESS)。

  • Binder通信:适用于进程间传递数据;

  • ContentProvider:使用于应用间共享数据,ContentProvider主要以表格的形式来组织数据,并且可以包含多个表,对于每个表格来说,它们都具有行和列的层次性,这点和数据库很类似;虽然ContentProvider的底层数据看起来很像一个SQLite数据库,但是ContentProvider对底层的数据存储方式没有任何要求,我们既可以使用SQLite数据库,也可以使用普通的文件,甚至可以采用内存中的一个对象来进行数据的存储。

原文地址:https://www.cnblogs.com/utube/p/14954840.html