【发布时间】:2020-10-12 21:08:30
【问题描述】:
我正在尝试精确测量我的应用程序使用的内存总量。我正在开发一个在电话设备上利用 GPU 的 .so 库。我在开发中主要使用 C/C++ 和 OpenCL,因此,我所有的内存分配都是 new/delete 或 clCreateBuffer/clReleaseMemObject。
确切地说,我正在寻找以下值:
- 堆上使用的总内存
- 堆栈上使用的总内存(如果可能)
- 用于 OpenCL 缓冲区的总内存
我做了什么:
我使用dumpsys 使用以下命令收集了一些数字:
adb shell dumpsys meminfo com.example.hellolibs.debug -d
而且,我还编写了一些简单的分析代码来跟踪所有 OpenCL 缓冲区分配/释放(我正在跟踪底层 OpenCL 缓冲区的引用计数器)。我使用分析代码测量的总内存使用量大于dumpsys 使用上述命令报告的内存使用量。不应该这样吧?
我的目标平台是:带有 Mali GPU 的 ARM CPU
【问题讨论】:
标签: android arm gpu opencl mali