xref: /aosp_15_r20/external/cronet/base/android/java_runtime.cc (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker // Copyright 2015 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker // Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker // found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker 
5*6777b538SAndroid Build Coastguard Worker #include "base/android/java_runtime.h"
6*6777b538SAndroid Build Coastguard Worker 
7*6777b538SAndroid Build Coastguard Worker #include "base/android_runtime_jni_headers/Runtime_jni.h"
8*6777b538SAndroid Build Coastguard Worker #include "base/numerics/safe_conversions.h"
9*6777b538SAndroid Build Coastguard Worker 
10*6777b538SAndroid Build Coastguard Worker namespace base {
11*6777b538SAndroid Build Coastguard Worker namespace android {
12*6777b538SAndroid Build Coastguard Worker 
GetMemoryUsage(uint64_t * total_memory,uint64_t * free_memory)13*6777b538SAndroid Build Coastguard Worker void JavaRuntime::GetMemoryUsage(uint64_t* total_memory,
14*6777b538SAndroid Build Coastguard Worker                                  uint64_t* free_memory) {
15*6777b538SAndroid Build Coastguard Worker   JNIEnv* env = jni_zero::AttachCurrentThread();
16*6777b538SAndroid Build Coastguard Worker   base::android::ScopedJavaLocalRef<jobject> runtime =
17*6777b538SAndroid Build Coastguard Worker       JNI_Runtime::Java_Runtime_getRuntime(env);
18*6777b538SAndroid Build Coastguard Worker   *total_memory = checked_cast<uint64_t>(
19*6777b538SAndroid Build Coastguard Worker       JNI_Runtime::Java_Runtime_totalMemory(env, runtime));
20*6777b538SAndroid Build Coastguard Worker   *free_memory = checked_cast<uint64_t>(
21*6777b538SAndroid Build Coastguard Worker       JNI_Runtime::Java_Runtime_freeMemory(env, runtime));
22*6777b538SAndroid Build Coastguard Worker }
23*6777b538SAndroid Build Coastguard Worker 
24*6777b538SAndroid Build Coastguard Worker }  // namespace android
25*6777b538SAndroid Build Coastguard Worker }  // namespace base
26