summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/jni/android_os_Debug.cpp8
-rw-r--r--core/jni/android_util_Process.cpp7
2 files changed, 10 insertions, 5 deletions
diff --git a/core/jni/android_os_Debug.cpp b/core/jni/android_os_Debug.cpp
index 13e1dfa00160..cf8df287a6db 100644
--- a/core/jni/android_os_Debug.cpp
+++ b/core/jni/android_os_Debug.cpp
@@ -564,11 +564,13 @@ static void android_os_Debug_getMemInfo(JNIEnv *env, jobject clazz, jlongArray o
// Read system memory info including ZRAM. The values are stored in the vector
// in the same order as MEMINFO_* enum
- std::vector<uint64_t> mem(MEMINFO_COUNT);
- std::vector<std::string> tags(::android::meminfo::SysMemInfo::kDefaultSysMemInfoTags);
+ std::vector<std::string_view> tags(
+ ::android::meminfo::SysMemInfo::kDefaultSysMemInfoTags.begin(),
+ ::android::meminfo::SysMemInfo::kDefaultSysMemInfoTags.end());
tags.insert(tags.begin() + MEMINFO_ZRAM_TOTAL, "Zram:");
+ std::vector<uint64_t> mem(tags.size());
::android::meminfo::SysMemInfo smi;
- if (!smi.ReadMemInfo(tags, &mem)) {
+ if (!smi.ReadMemInfo(tags.size(), tags.data(), mem.data())) {
jniThrowRuntimeException(env, "SysMemInfo read failed");
return;
}
diff --git a/core/jni/android_util_Process.cpp b/core/jni/android_util_Process.cpp
index a52a7ed982ec..7cfc5444a5a4 100644
--- a/core/jni/android_util_Process.cpp
+++ b/core/jni/android_util_Process.cpp
@@ -31,6 +31,7 @@
#include <android-base/unique_fd.h>
#include <algorithm>
+#include <array>
#include <limits>
#include <memory>
#include <string>
@@ -630,14 +631,16 @@ static int pid_compare(const void* v1, const void* v2)
static jlong android_os_Process_getFreeMemory(JNIEnv* env, jobject clazz)
{
- static const std::vector<std::string> memFreeTags = {
+ std::array<std::string_view, 2> memFreeTags = {
::android::meminfo::SysMemInfo::kMemFree,
::android::meminfo::SysMemInfo::kMemCached,
};
std::vector<uint64_t> mem(memFreeTags.size());
::android::meminfo::SysMemInfo smi;
- if (!smi.ReadMemInfo(memFreeTags, &mem)) {
+ if (!smi.ReadMemInfo(memFreeTags.size(),
+ memFreeTags.data(),
+ mem.data())) {
jniThrowRuntimeException(env, "SysMemInfo read failed to get Free Memory");
return -1L;
}