ContentProvider统一了对数据源操作的接口,并支持进程间通信(IPC),应用进程之间可以通过ContentProvider对外暴露接口,来分享数据。作为android中核心组件,不得不深入了解,翻看了android的源码写篇blog与大家分享。1.我画了一个静态类结构图,看下图:上图中已经把ContentP..
分类:
移动开发 时间:
2014-11-30 00:57:19
阅读次数:
269
ActivityManagerServiceActivityManagerService(简称:AMS)管理着应用程序中创建的所有组件(Activity、Service等),每个组件的信息与组件对应的进程信息都在管理范围内,包括内存释放潜规则。为了实现组件的管理,每个组件的状态变化都需要通知AMS,组件间的跨进程通信(IPC)..
分类:
移动开发 时间:
2014-11-30 00:55:29
阅读次数:
260
消息队列基本概念 消息队列提供了一个从一个进程向另外一个进程发送一块数据的方法(仅局限与本机) 每个数据块都被认为是有一个类型,接收者进程接收的数据块可以有不同的类型值 消息队列也有管道一样的不足,就是每个消息的最大长度是有上限的(MSGMAX),每个消息队列的总的字节数是有上限的(MSGMNB),系统上消息队列的总数也有一个上限(MSGMNI) 管道 vs. 消息队列:管道: ...
分类:
系统相关 时间:
2014-11-29 11:59:12
阅读次数:
279
消息队列函数 #include
#include
#include
int msgget(key_t key, int msgflg);
int msgctl(int msqid, int cmd, struct msqid_ds *buf);
int msgsnd(int msqid, const void *msgp, size_t msgsz, int msgflg);...
分类:
系统相关 时间:
2014-11-29 11:58:26
阅读次数:
302
API综合使用//父进程发送消息,子进程接收消息
struct msgBuf
{
long mtype; /* message type, must be > 0 */
char mtext[104]; /* message data */
};
const int MSGNUMBER = 10;
int main()
{
//获取一个键
key...
分类:
系统相关 时间:
2014-11-29 11:57:20
阅读次数:
295
消息队列可以认为是一个消息链表,某个进程往一个消息队列中写入消息之前,不需要另外某个进程在该队列上等待消息的达到,这一点与管道和FIFO相反。Posix消息队列与System V消息队列的区别如下:1. 对Posix消息队列的读总是返回最高优先级的最早消息,对System V消息队列的读则可以返回任...
分类:
其他好文 时间:
2014-11-28 17:42:11
阅读次数:
278
共享内存基本概念 共享内存区是最快的IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据(如图)。 共享内存 VS. 其他IPC形式 用管道/消息队列传递数据 用共享内存传递数据 (内核为每个IPC对象维护一个数据结构) 共享内存生成之后,传递数据并不需要再走Linux...
分类:
系统相关 时间:
2014-11-27 16:17:24
阅读次数:
313
shmdt函数功能:将共享内存段与当前进程脱离原型:int shmdt(const void *shmaddr);参数: shmaddr: 由shmat所返回的指针 返回值: 成功返回0;失败返回-1//实践:运行程序,观察ipcs输出
int main()
{
//获取或者打开共享内存
int shmid = shmget(0x15764221, 1024 * siz...
分类:
系统相关 时间:
2014-11-27 16:16:35
阅读次数:
332
Source:http://mjtsai.com/blog/2014/11/21/ios-ipc-via-nsfilecoordinator-and-nsfilepresenter/为什么每次我想到的东西,别人都已经研究了。⊙﹏⊙b汗Tom Harrington:There’s still no f...
分类:
移动开发 时间:
2014-11-27 14:17:56
阅读次数:
330