多进程哪些会失效
静态成员和单例模式会失效,因为进程内存空间相互独立,所以虚拟机内的静态方法区的静态变量也是互相独立。由于单例模式是基于静态变量的,因此单例模式会失效。
线程同步机制完全失效,由于Java的同步机制是使用虚拟机来进行调度的,因而两个进程会拥有两个虚拟机,同步在多进程中也是无效的,synchronized、volatile等都是基于虚拟机级别的同步。
SharedPreferences的可靠性下降,SharePreferences没有对多进程的支持。
文件读写的时候,需要考虑并发访问文件的问题。不同进程访问同一个文件是没有进程锁机制的。SQLite很容易被锁,其他进程访问时就会报出异常。
Application多次创建。每个进程在创建时都会新建一个Application,多进程会面临Application被多次创建的问题。每个Application都会执行onCreate方法。只能通过进程名来区分不同的进程,进行不同进程的初始化操作。