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

@@ -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"