Android跨进程通信:Binder,socket/管道/消息队列,共享内存;
linux进程间通信:管道,Binder,socket,共享内存;
Intent(显示启动--->同一进程,隐式启动------->跨进程)
隐式启动:1,action可以有多个,但跳转的activity的inflter一定要包含这个action
2,category(0个或者多个),比如指定登录界面
3,data(只有一个)的scheme指的是前缀http
4,host:主机号,port:端口号
1,线程是CPU调度最小的单位
2,进程一般指的是一个执行单位,在PC和移动设备上指的是一个程序或者一个应用
3,一个进程可以包含多个线程,因此进程和线程是包含与被包含的关系
4,一个进程中可以有一个线程,即主线程,Android中也叫UI线程
5,Android是一种基于Linux内核的移动操作系统,它的进程间通信方式并不能完全继承自linux,有自己的进程间通信方式
6,intent支持8大数据类型以及String,Character引用类型
7,AIDL支持8大数据类型和String,Character,list,Map
PS:8大数据类型就是下面这些:
整型:byte,short,int,long
浮点型:float,double
字符型:char
Boolean型:boolean
8,跨进程通信的方式:
①,Bundle通过Intent传递数据;
②,文件共享;
③,contentProvider;
④,基于Binder的AIDL和messager以及Socket
复习ContentProvider:
可以保存和获取数据并使其对所有应用程序可见,从而可以实现不同应用程序间共享数据