目录

Android多进程开发(IPC)注意事项

前言

  • 既然是多进程开发,不可避免就需要进程间通信,此时,我们就需要了解IPC(Inter-Process Communication),指两个进程间进行数据交换的过程。

  • IPC的提出并不是Android,任何一个操作系统都需要相应的IPC机制

    windows上的剪贴板、管道、邮曹等可以用来进行进程间通信 Linux上可以通过命名管、共享内容、信号量等来进行进程间通信 Android是基于Linux内科的移动操作系统。Android独创了Binder来进行进程间通信。当然,Android 也可以通过Socket实现进程间通信

  • 在Android开发过程中,需要我们通过多进程模式进行开发的业务需求不多,使用的情况有: 1、如某些模块必须运行在单独的进程中 2、增大应用的内存,通过多个进程运行,间接增大应用所能使用的内存空间

开启多进程的方法

  • 1、一般情况下我们可以为Android 的四大组件通过在xml文件中制定android:process属性来开启多进程模式

注意事项:process属性后为进程的名称,有两种方式: (1):进程名 :的含义是指当前的进程,也就是在当前的进程名前面附加上当制定的进程名,这种方式开辟的进程属于当前应用的私有进程,其他应用程序不可以和它处于同一进程中,但是,也不是说只要指定的进程名一样就可以了,还需要apk的签名一致才可以。 (2) 进程名

  • 2、比较少见的一种,通过JNI,在native层通过fork开启一个新的进程

开启多进程后注意的坑

  • 静态成员和单例模式完全失效,因为静态成员和单例模式的使用基础是处理同一进程中,
  • 线程同步机制完全失效
  • SharedPreferences可能性降低
  • Application会多次创建