IPC进程间通信/跨进程通信
#概念
进程:一个JVM就是一个进程
线程:最小的调度单元
一个进程可以包含多个线程,在安卓中有一个主线程也就是UI线程,UI线程才可以操作界面,如果在一个线程里面进行大量耗时操作在安卓中就会出现ANR(Application Not Responding)
#Android中IPC来源
IPC不是安卓中独有的 ,比如Windows中通过剪贴板,管道,油槽等进行进程间通信,Linux通过命名管道,共享内容,信号量等进行进程间通信,虽然Android基于Linux但是不完全继承Linux,Android中独特的进程间通信Binder,同时也支持socket。
#Android进程间通信通常用在如下几个方面
当应用中某个模块需要单独运行在某个进程中;或者相同通过多个进程来扩大应用的内存;当前应用需要向其他应用获取数据(其实COntenProvider去查询数据也是跨进程通信只不过底层分装之后我们察觉不到而已)。
#Android如何开启多进程
这里只讨论一个APP内的多进程,暂不讨论两个应用之间的多进程
这里我们目前讨论正规方式:通过Androidmenifest文件中给四大组件(Activity,BroadCast Receiver,Service,ContentProvide)添加Android:process 属性,暂不讨论通过JNI非正规方式开启新进程
例:<Activity Android:name:".xxxxActivity" Android:process:".remote"/>
这样我们启动这个Activity的时候就会新开启一个进程。
扫码关注公众号“伟大程序猿的诞生“,更多干货新鲜文章等着你~
公众号回复“资料获取”,获取更多干货哦~
有问题添加本人微信号“fenghuokeji996” 或扫描博客导航栏本人二维码
IPC进程间通信/跨进程通信相关推荐
- Android IPC 进程进程间通信或跨进程通信
Android IPC 机制 老话长谈,趁现在有时间对IPC做一个具体的总结. IPC是Inter-Process Communication的缩写,含义就是进程间通信或者跨进程通信,是指两个进程之间 ...
- Binder跨进程通信原理(三):Binder IPC实现原理
1. 动态内核可加载模块 && 内存映射 正如上一章所说, 跨进程通信是需要内核空间做支持的. 传统的 IPC 机制如 管道, Socket, 都是内核的一部分, 因此通过内核支持来实 ...
- Android - 跨进程通信(IPC) 另一种便捷实现 详解
文章目录 1. 写在前面 2. 跨进程通信的实现 3. 扩展思考 4. 参考资料 1. 写在前面 看到此图有何感想,这是另一种便捷的实现方式,我们先来看看其它的几种方式. Android 进程间通信 ...
- Android的跨进程通信
Android系统的跨进程简介 为什么不能直接跨进程通信? 为了安全考虑,应用之间的内存是无法互相访问的,各自的数据都存在于自身的内存区域内. 如何跨进程通信? 要想跨进程通信,就要找到一个大家都能访 ...
- 【朝花夕拾】Android跨进程通信总结篇
前言 原文:https://www.cnblogs.com/andy-songwei/p/10256379.html 只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一. ...
- 【朝花夕拾】Android性能篇之(七)Android跨进程通信篇
前言 转载请声明,转自[https://www.cnblogs.com/andy-songwei/p/10256379.html],谢谢! 只要是面试高级工程师岗位,Android跨进程通信就是最受面 ...
- 【朝花夕拾】Android性能篇之(七)Android跨进程通信篇...
前言 原文:https://www.cnblogs.com/andy-songwei/p/10256379.html 只要是面试高级工程师岗位,Android跨进程通信就是最受面试官青睐的知识点之一. ...
- 再谈Android Binder跨进程通信原理
在谈Android的跨进程通信问题上时,总会问到Android的IPC机制,是指两个进程之间进行数据交换的过程.按操作系统的中的描述,线程是CPU调度最小的单元,同时线程是一种有限的系统资源,而进程是 ...
- AIDL跨进程通信和Service调用
AIDL的作用 1.aidl 是Android interface definition Language 的英文缩写,意思Android 接口定义语言. 2.使用aidl 可以帮助我们发布以及调用远 ...
- Android跨进程通信Binder机制与AIDL实例
文章目录 进程通信 1.1 进程空间划分 1.2 跨进程通信IPC 1.3 Linux跨进程通信 1.4 Android进程通信 Binder跨进程通信 2.1 Binder简介 2.2 Binder ...
最新文章
- 跟我学Spring Cloud(Finchley版)-16-Zuul
- 华为:5G技术前景堪忧,运营商将很难从5G赚钱
- mysql修改最后一条记录删除第一条记录
- python培训班时间 费用-Python培训班大概多少钱?老男孩Python培训
- 想成为全栈工程师,要做到哪几点?
- 服务器里面发邮件,通过SMTP中继服务器发送邮件的问题
- MFC—对话框程序—模式对话框与非模式对话框
- 代码英雄之云间战争:寡头时代,路在何方?
- linux的java安装目录
- 关于sharepoint2013的SPUtility.GetGenericSetupPath()方法过期解决办法
- python爬虫爬取网页图片_Python之多线程爬虫抓取网页图片
- linux:查看使用中的端口
- 解决QQ聊天自动转成表情
- 移动应用开发学习通测试题答案
- zabbix监控系统
- 一个基于互联网医疗的创业公司,三年是一个收获
- Python奇技淫巧之Pycharm活动模板配置
- 计算机语言发展简史,计算机语言发展简史
- ps——油漆字体效果
- 使用Hadoop提取网络日志KPI指标
热门文章
- 【SSD目标检测】1:图片、视频内的物体检测与定位
- Java 实训1:编写一个窗体程序显示日历表。
- STM32电机TB6612驱动
- 科隆OPTIFLUX2100W/4100C分体式电磁流量计维修
- 数学建模工具篇(一)-LaTeX软件入门
- c#将byte转为int_C# int转byte[],byte[]转int
- linux在当前目录 查找abc文件夹,《find技巧》-“linux命令五分系列”之一
- html 科赫雪花,CSS3 科赫雪花分形V1
- Ring3触发BSOD代码实现及内核逆向分析
- opencv codebook