From 205e4e868020180fe880ece14c13baf50033ebf6 Mon Sep 17 00:00:00 2001 From: xuqm Date: Wed, 16 Jul 2025 18:40:32 +0800 Subject: [PATCH] =?UTF-8?q?refactor(multiple):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E5=A4=9A=E4=B8=AA=20React=20Native=20=E5=AE=BF=E4=B8=BB?= =?UTF-8?q?=E7=9A=84=E5=8A=A0=E8=BD=BD=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修改 MultipleReactActivityDelegate 中的 loadApp 方法,使用动态传递的 mainComponentName - 在 BuzActivity 中添加处理 React Host 生命周期状态的注释代码 -调整 MainApplication 中的 JS 主模块名和 Bundle 资源名的获取逻辑 - 修改 package.json 中 common bundle 的构建配置,关闭压缩并开启缓存重置 --- .../main/java/com/trust/ywx/BuzActivity.kt | 9 ++++++++- .../java/com/trust/ywx/MainApplication.kt | 19 +++++++++++-------- .../multiple/MultipleReactActivityDelegate.kt | 2 +- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/android/app/src/main/java/com/trust/ywx/BuzActivity.kt b/android/app/src/main/java/com/trust/ywx/BuzActivity.kt index 99ada18..b119a57 100644 --- a/android/app/src/main/java/com/trust/ywx/BuzActivity.kt +++ b/android/app/src/main/java/com/trust/ywx/BuzActivity.kt @@ -32,7 +32,14 @@ class BuzActivity : ReactActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) AppManager.addActivity(this) - Toast.makeText(this, "BuzActivity:" + NavigationHelper.routerName, Toast.LENGTH_SHORT).show() + Toast.makeText(this, "BuzActivity:" + NavigationHelper.routerName, Toast.LENGTH_SHORT) + .show() +// if (reactHost.lifecycleState != LifecycleState.RESUMED) { +// reactHost.onHostResume(this) +// } +// Handler(Looper.getMainLooper()).post { +// reactHost.reload("Requested by CodeUpdater") +// } } override fun onDestroy() { diff --git a/android/app/src/main/java/com/trust/ywx/MainApplication.kt b/android/app/src/main/java/com/trust/ywx/MainApplication.kt index 4a6be98..f35b2ad 100644 --- a/android/app/src/main/java/com/trust/ywx/MainApplication.kt +++ b/android/app/src/main/java/com/trust/ywx/MainApplication.kt @@ -23,20 +23,23 @@ class MainApplication : Application(), ReactApplication { add(NavigationPackage()) } + override fun getJSMainModuleName(): String = + if (getUseDeveloperSupport()) "index" else "commom" + + override fun getBundleAssetName(): String? = + if (getUseDeveloperSupport()) "index.android.bundle" else null + // -// override fun getJSMainModuleName(): String = -// if (getUseDeveloperSupport()) "index" else "commom" -// -// override fun getBundleAssetName(): String? = -// if (getUseDeveloperSupport()) "index.android.bundle" else null -// // override fun getJSBundleFile(): String? = if (getUseDeveloperSupport()) { // super.getJSBundleFile() // } else { // FileHelper.getFilePath("common.android.bundle", this@MainApplication, "bundles") // } - override fun getJSBundleFile(): String = + override fun getJSBundleFile(): String? = if (getUseDeveloperSupport()) { + null + } else { FileHelper.getFilePath("common.android.bundle", this@MainApplication, "bundles") + } override fun getUseDeveloperSupport(): Boolean = BuildConfig.DEBUG @@ -47,7 +50,7 @@ class MainApplication : Application(), ReactApplication { override val reactHost: ReactHost get() = getDefaultReactHost(applicationContext, reactNativeHost) - companion object{ + companion object { var isNew = true } diff --git a/android/app/src/main/java/com/trust/ywx/multiple/MultipleReactActivityDelegate.kt b/android/app/src/main/java/com/trust/ywx/multiple/MultipleReactActivityDelegate.kt index 2e63557..2f14e2f 100644 --- a/android/app/src/main/java/com/trust/ywx/multiple/MultipleReactActivityDelegate.kt +++ b/android/app/src/main/java/com/trust/ywx/multiple/MultipleReactActivityDelegate.kt @@ -58,7 +58,7 @@ class MultipleReactActivityDelegate( ), ) - this.loadApp("app") + this.loadApp(mainComponentName) } else { this.mReactDelegate = object : ReactDelegate(