美文网首页
Android开启多进程及进程间通信的几种方式

Android开启多进程及进程间通信的几种方式

作者: 饱醉豚我去年买了个表 | 来源:发表于2017-03-25 10:59 被阅读837次
  • 进程
    首先来看进程的定义: 进程是指一个执行单元,在PC和移动设备上是指一个程序或者一个应用。而线程是CPU调度的最小单元,同时线程是一种有限的系统资源,一个进程可以包含多个线程,因此进程和线程是包含与被包含的关系,当某个应用组件启动且该应用没有运行其他任何组件时,Android 系统会使用单个执行线程为应用启动新的 Linux 进程。默认情况下,同一应用的所有组件在相同的进程和线程(称为“主”线程)中运行。

  • 开启多进程
    多进程的好处:
    1、增大应用的可使用内存,Android对应用的最大内存内存做了限制,开启多进程可以申请到多块内存,应用中内存消耗比较大的模块,可以考虑新开一个进程。
    2、多进程可以防止整个程序崩溃,假如新开的进程崩溃了,那么会返回到主进程中,而不会导致整个程序崩溃。
    如果客户端和服务端不再同一个应用,默认就是两个进程;如果在一个应用内开启多进程,在AndroidManifest.xml文件中的四大组件<activity> <service> <receiver> <provider> 均支持 android:process属性来开启多进程。通过设置此属性,可以使每个组件均在各自的进程中运行,或者使一些组件共享一个进程,而其他组件则不共享。Android默认进程名是即是包名。
    android:process的设置有两种:
    1、android:process="xxx.xxx.xxxx.remote" 完整的命名方式,属于全局进程,其它应用通过ShareUID方式可以和它跑在同一个进程中。
    2、android:process=":remote",“:”的含义是要在当前进程名前面加上包名,进程名以“:”开头是属于私有进程,其他应用不可访问。

  • 多进程带来的问题
    (1).静态成员和单例模式完全失效
    (2).线程同步机制完全失效
    (3).SharedPreference的可靠性下降
    (4).Application会多次创建

  • 进程间通信
    IPC是Inter-Process Communication的缩写,含义为进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。进程间通信的几种方式:Intent传递数据,文件共享,Messenger,AIDL,ContentProvider,Socket等。
    1、Intent 只能传递简单的对象,对象必须实现Pacelable接口序列化,使用例子:多进程通信之Intent
    2、Messenger基于消息(Message)实现进程间通信,服务端是串行执行客户端请求的,底层实现是AIDL,详细请看:进程间通信之Messenger
    3、允许不同应用的客户端用 IPC 方式访问服务,并且可以在服务端处理多线程,详细请看:进程间通信之AIDL
    4、进程间通信还可以通过继承Binder来实现,详细请看:继承Binder类实现多进程通信

相关文章

  • Android开启多进程及进程间通信的几种方式

    进程首先来看进程的定义: 进程是指一个执行单元,在PC和移动设备上是指一个程序或者一个应用。而线程是CPU调度的最...

  • Android面试Android基础(十一)

    问:Android中的IPC(进程间通信)机制? 答:进程间通信即:跨进程的通信。有以下几种:1、使用Bundle...

  • Android AIDL教程

    部分文档资料采用了郭林文章 进程间通讯方式 Android 进程间通信有以下几种方案可选 Bundle file ...

  • Binder机制

    进程间通信方式 Android Binder框架图 Android系统框架 IPC 进程通信原理 Binder原理...

  • 事件总线初探

    闲话说说Android的通信机制,Android的通信方式有蛮多,intent、broadcast、进程间通信等等...

  • Android 面试常问知识

    Q1:线程间的通信进程间通信的几种方式进程间通信方式详解Q2:线程安全SharePreferences 是否线程安...

  • Android进程间通信之bindService

    在Android中binder是一种非常重要的进程间通信方式。基于binder实现的进程间通信形态非常多,其中An...

  • 仅限两个App间传递信息方法

    Android 进程间通信有很多方法,比如Android中进程间通信(IPC)方式总结 由于项目需求简单,只是由A...

  • Linux进程间通信

    Linux进程间通信的概念 linux下进程间通信的几种主要手段简介: 管道(Pipe)及有名管道(named p...

  • 操作系统OS知识点

    OS* 内核态 vs 用户态* 进程 vs 线程* 进程调度算法* 进程间通信的几种方式* O...

网友评论

      本文标题:Android开启多进程及进程间通信的几种方式

      本文链接:https://www.haomeiwen.com/subject/skkggttx.html