以下行是什么意思(取自 Android 日志):
06-21 23:48:29.701: D/memalloc(5389): /dev/pmem: Mapped buffer base:0x52522000 size:3047424 offset:3031040 fd:76
具体来说,offset 和 fd 代表什么?当 fd 达到 86 时,我的一个 android 应用程序(将一些东西绘制到画布上)似乎挂起。
以下行是什么意思(取自 Android 日志):
06-21 23:48:29.701: D/memalloc(5389): /dev/pmem: Mapped buffer base:0x52522000 size:3047424 offset:3031040 fd:76
具体来说,offset 和 fd 代表什么?当 fd 达到 86 时,我的一个 android 应用程序(将一些东西绘制到画布上)似乎挂起。
简短的回答:您可能内存不足。
长答案:(这是高度推测性的,使用了大量的猜测工作)
PMEM
是 android 中处理分配大块连续物理内存的模块。
显然它也与图形有关,请参阅
PMEM 显然创建了一个内存结构,其中一个连续的 bloc* 内有多个缓冲区。是整个 PMEM 缓冲区
base
的(物理?映射虚拟?我不确定)基地址。似乎是指单个“子块”的大小。给出特定“子块”或文件描述符的起始地址,用于访问该特定缓冲区
Size
offset
fd
既然你提到fd
高于 86 的值会导致坏事,而上面的例子有 fd = 76,我猜你只是内存
不足(PMEM 只能处理 12 个缓冲区,所以也许你遇到了也有限制?)