我正在尝试查找设备上的总可用内存和设备的总内存使用情况。
我找到了两种方法。
1)从/ proc / meminfo文件中读取统计信息 2)使用Android的ActivityManger.MemoryInfo API
这两种方式都会返回不同的值。
答案 0 :(得分:1)
这很具有讽刺意味,但ActivityManger.MemoryInfo.availMem
的实施包括来自/proc/meminfo
的 MemFree 和缓存。这可以追溯到android_util_Process.cpp
Android.os.Process.getFreeMemory()
的原生实现
`static jlong android_os_Process_getFreeMemory(JNIEnv* env, jobject clazz)
{
static const char* const sums[] = { "MemFree:", "Cached:", NULL };
static const size_t sumsLen[] = { strlen("MemFree:"), strlen("Cached:"), 0 };
return getFreeMemoryImpl(sums, sumsLen, 2);
}`