Android的IPC机制,新人一枚,写博客只是为了让自己的学习自己归纳一下,避免比自己忘记,也可以给自己以后的观看,希望各位大神轻喷。
android的IPC机制,IPC指的是进程间的通信或跨进程通信。 说到这,我们先讲一下什么是进程。
根据系统描述:进程主要指的是一个执行单位,在pc和移动设备中指一个应用或一个程序。我们要区分的是,一个进程可以包含多个线程。所以进程和线程之间只包含的关系。一般来说,我们包含的最基本的主线程,即UI线程。
开启多进程模式很简单,只要在AndroidMenifest中指定android:process属性即可
而包不包含:(冒号)表示的是是否包含应用包名,加上:,则表示前面加上包名正所谓车启动容易,但是开好就比较难了,在多进程间可是会有不少问题。
1、静态成员变量和单例模式完全失效
2、线程同步机制失效
3、sharePreferences的可靠性下降
4、Application会多次创建
原因简单的说一下就是Android会为每一个应用分配一个独立的虚拟机,或者说是为每一个进程分配一个独立的虚拟机,不同的虚拟机在内存空间分配上有不同的地址空间,不同的地址空间访问同一个类的对象会产生多个副本,每一个进程中都会有一个不同的实体类。所以会出现这些问题。
IPC的基础概念:主要是SeriaLizable接口和Parcelable接口和BInder
我们主要讲一下Parcelable接口和Binder。
我们只要实现了Parcelable接口,一个类的对象就可以通过实现序列化并通过Intent和Binder传递。
Binder是Android种的一种跨进程通信方式,或者理解为虚拟的物理设备。是客户端和服务端的通信没接。主要实现喂AIDL和Messenger
还有一种ContentProvider主要是数据共享的方式,常用来对SQLite数据库之间
还有一种就是socket通讯了。这里就不做多描述,网上应该有很多教程。
希望上面能对大家有所帮助。谢谢大家。
就爱阅读www.92to.com网友整理上传,为您提供最全的知识大全,期待您的分享,转载请注明出处。来源: