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) {
return RegisterNativesImpl(env);
}
bool SysUtils::IsLowEndDevice() {
bool SysUtils::IsLowEndDeviceFromJni() {
JNIEnv* env = AttachCurrentThread();
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();
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() { }
} // namespace android
......
......@@ -22,6 +22,9 @@ class BASE_EXPORT SysUtils {
private:
SysUtils();
static bool IsLowEndDeviceFromJni();
static size_t AmountOfPhysicalMemoryKBFromJni();
};
} // 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