From 76f60f8ee78575fb04edec977252e954e67344dd Mon Sep 17 00:00:00 2001 From: mazengfei <331023091@qq.com> Date: Fri, 17 Jul 2026 09:53:43 +0800 Subject: [PATCH] =?UTF-8?q?fix(build):=20=E4=BF=AE=E5=A4=8DObjectBox?= =?UTF-8?q?=E5=BA=93=E7=9A=84release=E4=BE=9D=E8=B5=96=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 取消注释并激活app模块中ObjectBox的releaseImplementation依赖 - 取消注释并激活lib_face模块中ObjectBox的releaseImplementation依赖 fix(ui): 修复异常时Toast显示的线程调度问题 - 在CollectFragment中使用lifecycleScope切换到主线程显示Toast refactor(main): 优化图像处理流程中的协程使用 - MainActivity中将uri2File调用放入IO线程的lifecycleScope中 - 使用withContext切换至IO线程异步获取Bitmap后再进行处理 chore(objbox): 移除未使用的ObjectBoxLiveData导入声明 --- app/build.gradle.kts | 2 +- .../java/com/sw/dualscreen/activity/MainActivity.kt | 13 ++++++++----- .../dualscreen/activity/fragment/CollectFragment.kt | 4 +++- .../main/java/com/sw/dualscreen/objbox/ObjectBox.kt | 2 +- lib_face/build.gradle.kts | 2 +- 5 files changed, 14 insertions(+), 9 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 760c9ae..2472d94 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -117,7 +117,7 @@ dependencies { val objectboxVersion = "5.0.1" debugImplementation(libs.objectbox.android.objectbrowser) -// releaseImplementation("io.objectbox:objectbox-android:$objectboxVersion") + releaseImplementation("io.objectbox:objectbox-android:$objectboxVersion") // implementation("io.objectbox:objectbox-fulltext:5.0.1") implementation(libs.androidx.recyclerview) diff --git a/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt b/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt index d9dd42c..b3335af 100644 --- a/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt +++ b/app/src/main/java/com/sw/dualscreen/activity/MainActivity.kt @@ -1091,9 +1091,11 @@ class MainActivity : BaseActivity() { if (lastPhotoUri == null) { return } - uri2File(lastPhotoUri!!) { imageFile, imageVector -> - runBlocking { - uploadCollectFoodPics(foodInfo, imageFile, imageVector) + lifecycleScope.launch(Dispatchers.IO) { + uri2File(lastPhotoUri!!) { imageFile, imageVector -> + runBlocking { + uploadCollectFoodPics(foodInfo, imageFile, imageVector) + } } } } catch (e: Exception) { @@ -1282,9 +1284,10 @@ class MainActivity : BaseActivity() { startTime = System.currentTimeMillis() log("registerDataChange photoUri = ${photoUri.path}") // viewModel.getIdentifiedFoodList() - ImageUtil.uriToBitmap(this@MainActivity, photoUri)?.let { bitmap -> - queryFoodData(bitmap) + val bitmap = withContext(Dispatchers.IO) { + ImageUtil.uriToBitmap(this@MainActivity, photoUri) } + bitmap?.let { queryFoodData(it) } } private suspend fun queryFoodData(bitmap: Bitmap) { diff --git a/app/src/main/java/com/sw/dualscreen/activity/fragment/CollectFragment.kt b/app/src/main/java/com/sw/dualscreen/activity/fragment/CollectFragment.kt index 8d4f162..0d4351f 100644 --- a/app/src/main/java/com/sw/dualscreen/activity/fragment/CollectFragment.kt +++ b/app/src/main/java/com/sw/dualscreen/activity/fragment/CollectFragment.kt @@ -145,7 +145,9 @@ class CollectFragment : BaseFragment() { FoodModule.bitmap2FloatArray(bitmap, false) } catch (e: Exception) { e.printStackTrace() - ToastUtils.showToast("操作失败") + activity?.lifecycleScope?.launch(Dispatchers.Main) { + ToastUtils.showToast("操作失败") + } settingActivity?.log("操作失败:${e.message}") settingActivity?.hideWaitingDialog() return diff --git a/app/src/main/java/com/sw/dualscreen/objbox/ObjectBox.kt b/app/src/main/java/com/sw/dualscreen/objbox/ObjectBox.kt index d3ee1c6..3721ea8 100644 --- a/app/src/main/java/com/sw/dualscreen/objbox/ObjectBox.kt +++ b/app/src/main/java/com/sw/dualscreen/objbox/ObjectBox.kt @@ -25,7 +25,7 @@ import io.objectbox.Box import io.objectbox.BoxStore import io.objectbox.BoxStoreBuilder import io.objectbox.android.Admin -import io.objectbox.android.ObjectBoxLiveData + import io.objectbox.config.DebugFlags import io.objectbox.exception.DbException import io.objectbox.exception.FileCorruptException diff --git a/lib_face/build.gradle.kts b/lib_face/build.gradle.kts index 76adfec..415c9b5 100644 --- a/lib_face/build.gradle.kts +++ b/lib_face/build.gradle.kts @@ -68,5 +68,5 @@ dependencies { val objectboxVersion = "5.0.1" debugImplementation("io.objectbox:objectbox-android-objectbrowser:$objectboxVersion") -// releaseImplementation("io.objectbox:objectbox-android:$objectboxVersion") + releaseImplementation("io.objectbox:objectbox-android:$objectboxVersion") } \ No newline at end of file