Andorid Ashmem匿名共享内存

1、匿名共享内存和Linux系统一样都是基于内核提供的临时文件系统tmpfs实现的。但是前者对内存块进行更为精细的管理。应用程序可以动态将匿名共享内存划分为若干个小块,当某些内存不再使用的时候,可以进行回收。

2传统Linux系统使用一个整数来标记一块匿名共享内存,但是Android系统使用文件描述符来标记一块匿名共享内存,因为这有两个好处,1可以方便的进行映射到进程的地址空间,从而访问内容数据。第二,可以使用BINDER进程间通信机制传输这个文件描述符,从而实现在不同应用程序之间共享一块匿名内存。

3、/dev/ashmem设置为不可随机访问,因为设备文件/dev/ashmem是一个用来访问Ashmem驱动程序的通道。本身自己是没有内容,进行随机访问是没有意义的。

4、进程是通过mmap将前面打开的设备文件/dev/ashmem映射到进程的地址空间。

你可能感兴趣的:(Andorid Ashmem匿名共享内存)