fix(activity): 修复 queryUserCount 在主线程执行 Room 查询导致崩溃的问题
- DB 查询改用 withContext(Dispatchers.IO) 切换至 IO 线程 - clearFace/clearFaceAndGetAll 操作完成后自动刷新用户计数 - 删除未使用的 CoroutineDispatcher import Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -10,7 +10,6 @@ import com.sw.platecabinet.dialog.CustomDialog
|
||||
import com.sw.platecabinet.ext.clickWithDebounce
|
||||
import com.sw.platecabinet.utils.PlateUtils
|
||||
import com.sw.platecabinet.utils.SpTool
|
||||
import kotlinx.coroutines.CoroutineDispatcher
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.launch
|
||||
@@ -45,6 +44,7 @@ class FunActivity : BaseActivity<ActivityFunBinding>() {
|
||||
{
|
||||
hideWaitingDialog()
|
||||
ToastUtils.showToast("已清除")
|
||||
queryUserCount()
|
||||
}, 500
|
||||
)
|
||||
}
|
||||
@@ -60,6 +60,7 @@ class FunActivity : BaseActivity<ActivityFunBinding>() {
|
||||
ToastUtils.showToast(
|
||||
if (status) "请求成功,$msg" else "请求失败,$msg"
|
||||
)
|
||||
queryUserCount()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -117,8 +118,8 @@ class FunActivity : BaseActivity<ActivityFunBinding>() {
|
||||
private fun queryUserCount() {
|
||||
lifecycleScope.launch {
|
||||
val faceDao = FaceDatabase.getInstance(this@FunActivity).faceDao()
|
||||
val memberUserCount = faceDao.getFaceCount("1")
|
||||
val tempUserCount = faceDao.getFaceCount("2")
|
||||
val memberUserCount = withContext(Dispatchers.IO) { faceDao.getFaceCount("1") }
|
||||
val tempUserCount = withContext(Dispatchers.IO) { faceDao.getFaceCount("2") }
|
||||
binding.tvMemberUserCount.text = "会员用户:${memberUserCount}人"
|
||||
binding.tvTempUserCount.text = "临时用户:${tempUserCount}人"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user