From f4f5971cb44fa4be78d3f3598d33a2d6b8e3978e Mon Sep 17 00:00:00 2001 From: kunfei Date: Sat, 10 Jun 2023 22:28:11 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/model/webBook/BookContent.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/model/webBook/BookContent.kt b/app/src/main/java/io/legado/app/model/webBook/BookContent.kt index f6b5aba66..e4078595c 100644 --- a/app/src/main/java/io/legado/app/model/webBook/BookContent.kt +++ b/app/src/main/java/io/legado/app/model/webBook/BookContent.kt @@ -14,6 +14,7 @@ import io.legado.app.model.analyzeRule.AnalyzeRule import io.legado.app.model.analyzeRule.AnalyzeUrl import io.legado.app.utils.HtmlFormatter import io.legado.app.utils.NetworkUtils +import kotlinx.coroutines.CoroutineStart import kotlinx.coroutines.Dispatchers.IO import kotlinx.coroutines.async import kotlinx.coroutines.ensureActive @@ -103,8 +104,10 @@ object BookContent { } else if (contentData.second.size > 1) { Debug.log(bookSource.bookSourceUrl, "◇并发解析正文,总页数:${contentData.second.size}") withContext(IO) { + val asyncStart = + if (contentData.second.size > 5) CoroutineStart.LAZY else CoroutineStart.DEFAULT val asyncArray = Array(contentData.second.size) { - async(IO) { + async(IO, start = asyncStart) { val urlStr = contentData.second[it] val res = AnalyzeUrl( mUrl = urlStr,