Improve startup speed

This commit is contained in:
tom5079
2022-01-25 04:59:25 +09:00
parent 62dce26c73
commit 910ed65937
5 changed files with 17 additions and 16 deletions

View File

@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetDropDown">
<runningDeviceTargetSelectedWithDropDown>
<targetSelectedWithDropDown>
<Target>
<type value="RUNNING_DEVICE_TARGET" />
<type value="QUICK_BOOT_TARGET" />
<deviceKey>
<Key>
<type value="VIRTUAL_DEVICE_PATH" />
@@ -11,7 +11,7 @@
</Key>
</deviceKey>
</Target>
</runningDeviceTargetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2022-01-24T19:20:51.436372Z" />
</targetSelectedWithDropDown>
<timeTargetWasSelectedWithDropDown value="2022-01-24T19:40:46.041035Z" />
</component>
</project>

View File

@@ -38,7 +38,7 @@ android {
minSdkVersion 16
targetSdkVersion 31
versionCode 69
versionName "5.2.20"
versionName "5.2.21"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}

View File

@@ -12,7 +12,7 @@
"filters": [],
"attributes": [],
"versionCode": 69,
"versionName": "5.2.20",
"versionName": "5.2.21",
"outputFile": "app-release.apk"
}
],

View File

@@ -160,19 +160,20 @@ fun initWebView(context: Context) {
webViewClient = object: WebViewClient() {
override fun onPageFinished(view: WebView?, url: String?) {
webViewReady = true
webView.evaluateJavascript(
"""
try {
new Function('(x => x?.y ?? z)');
true;
} catch (err) {
false;
}
""".trimIndent()
try {
new Function('(x => x?.y ?? z)');
true;
} catch (err) {
false;
}
""".trimIndent()
) {
val es2020: Boolean = Json.decodeFromString(it)
webViewReady = es2020
oldWebView = !es2020
}
}

View File

@@ -53,7 +53,7 @@ suspend inline fun <reified T> WebView.evaluate(script: String): T = coroutineSc
while (result == null) {
try {
while (!oldWebView && !(webViewReady && !webViewFailed)) yield()
while (!oldWebView && !(webViewReady && !webViewFailed)) delay(100)
result = if (oldWebView)
"null"
@@ -82,7 +82,7 @@ suspend inline fun <reified T> WebView.evaluatePromise(
while (result == null) {
try {
while (!oldWebView && !(webViewReady && !webViewFailed)) yield()
while (!oldWebView && !(webViewReady && !webViewFailed)) delay(100)
result = if (oldWebView)
"null"