Cache JNI call results in SysUtils on native side.

BUG=323727

Review URL: https://codereview.chromium.org/89773002

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@238228 0039d316-1c4b-4281-b951-d872f2087c98
parent cce34bd6
...@@ -15,16 +15,26 @@ bool SysUtils::Register(JNIEnv* env) { ...@@ -15,16 +15,26 @@ bool SysUtils::Register(JNIEnv* env) {
return RegisterNativesImpl(env); return RegisterNativesImpl(env);
} }
bool SysUtils::IsLowEndDevice() { bool SysUtils::IsLowEndDeviceFromJni() {
JNIEnv* env = AttachCurrentThread(); JNIEnv* env = AttachCurrentThread();
return Java_SysUtils_isLowEndDevice(env); return Java_SysUtils_isLowEndDevice(env);
} }
size_t SysUtils::AmountOfPhysicalMemoryKB() { bool SysUtils::IsLowEndDevice() {
static bool is_low_end = IsLowEndDeviceFromJni();
return is_low_end;
}
size_t SysUtils::AmountOfPhysicalMemoryKBFromJni() {
JNIEnv* env = AttachCurrentThread(); JNIEnv* env = AttachCurrentThread();
return static_cast<size_t>(Java_SysUtils_amountOfPhysicalMemoryKB(env)); return static_cast<size_t>(Java_SysUtils_amountOfPhysicalMemoryKB(env));
} }
size_t SysUtils::AmountOfPhysicalMemoryKB() {
static size_t amount_of_ram = AmountOfPhysicalMemoryKBFromJni();
return amount_of_ram;
}
SysUtils::SysUtils() { } SysUtils::SysUtils() { }
} // namespace android } // namespace android
......
...@@ -22,6 +22,9 @@ class BASE_EXPORT SysUtils { ...@@ -22,6 +22,9 @@ class BASE_EXPORT SysUtils {
private: private:
SysUtils(); SysUtils();
static bool IsLowEndDeviceFromJni();
static size_t AmountOfPhysicalMemoryKBFromJni();
}; };
} // namespace android } // namespace android
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment