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 Workervoid 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