From 331e545606c712f98faba6d0098316a24943ee34 Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Sun, 11 May 2025 16:40:00 +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 --- .../main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt index df7e31480..237ecb381 100644 --- a/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt +++ b/app/src/main/java/io/legado/app/model/analyzeRule/AnalyzeRule.kt @@ -77,6 +77,7 @@ class AnalyzeRule( private val regexCache = hashMapOf() private val scriptCache = hashMapOf() private var topScopeRef: WeakReference? = null + private var evalJSCallCount = 0 private var coroutineContext: CoroutineContext = EmptyCoroutineContext @@ -781,7 +782,9 @@ class AnalyzeRule( val topScope = source?.getShareScope(coroutineContext) ?: topScopeRef?.get() val scope = if (topScope == null) { RhinoScriptEngine.getRuntimeScope(bindings).apply { - topScopeRef = WeakReference(prototype) + if (evalJSCallCount++ > 16) { + topScopeRef = WeakReference(prototype) + } } } else { bindings.apply {