diff --git a/app/src/main/java/com/stand/standapp/MainActivity.kt b/app/src/main/java/com/stand/standapp/MainActivity.kt index b2f27ea..b240ff9 100644 --- a/app/src/main/java/com/stand/standapp/MainActivity.kt +++ b/app/src/main/java/com/stand/standapp/MainActivity.kt @@ -31,10 +31,12 @@ class MainActivity : AppCompatActivity() { @Volatile private var pendingJsCode: String? = null + private val jsLock = Any() + @JvmStatic fun executeJs(script: String) { Timber.tag("ExecuteJs").d(script) - synchronized(pendingJsCode ?: Any()) { + synchronized(jsLock) { // 合并多次调用(用换行分隔) pendingJsCode = if (pendingJsCode != null) "$pendingJsCode;$script" else script } @@ -119,7 +121,7 @@ class MainActivity : AppCompatActivity() { // 获取并清除待执行的 JS 代码(由 bridge.js 轮询) @JvmStatic fun pollPendingJs(): String { - synchronized(pendingJsCode ?: Any()) { + synchronized(jsLock) { val code = pendingJsCode ?: "" pendingJsCode = null return code