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

View File

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

View File

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

View File

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

View File

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