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