Advertisement

SPRD ION 代码阅读理解 笔记

阅读量:

缘由:
当应用层两次调用 open_adf 接口后,系统随即崩溃。通过分析日志信息可以发现,问题出现在 kernel 层第二次进行 ION 内存申请时。那么,ION 是什么?它是如何运作的?因此决定深入研究其原理。

什么是 ION?
ION 是 Google 在 Android 4.0 版本之后引入的一种用于内存管理的技术。详细资料可参考以下链接:
The Android ION memory allocator

用在哪些地方?
ION 技术不仅可以在应用层使用,也可以在 kernel 层使用。例如,在应用层中,包括 camera、display、audio 等系统模块都会使用到 ION。此外,它还支持两个进程之间的内存共享。

如何使用?
对于 kernel 层来说,只需直接调用 ION 框架中提供的相关函数接口即可;而对于应用层,则是通过访问平台提供的 ION 驱动设备节点 “/dev/ion” 来实现操作。

相关概念
ion_client:这是用于申请内存的对象,通常一个进程对应一个 client。以应用层为例,每次打开一次 “/dev/ion” 节点时,就会生成一个 client。
ion_heap:这是一种内存缓冲池结构

全部评论 (0)

还没有任何评论哟~