From f216e1433848889f72b75112ade9c868ddc946cd Mon Sep 17 00:00:00 2001 From: lvmeng <848755140@qq.com> Date: Thu, 22 Jan 2026 14:47:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=95=B0=E6=8D=AE=E5=BA=93?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/sw/inbound/objbox/FoodModule.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/sw/inbound/objbox/FoodModule.kt b/app/src/main/java/com/sw/inbound/objbox/FoodModule.kt index eb9b658..ff35437 100644 --- a/app/src/main/java/com/sw/inbound/objbox/FoodModule.kt +++ b/app/src/main/java/com/sw/inbound/objbox/FoodModule.kt @@ -13,6 +13,7 @@ import com.sw.inbound.utils.ImageUtil import com.sw.inbound.utils.ext.toJsonString import io.objectbox.Box import io.objectbox.kotlin.boxFor +import io.objectbox.query.IdWithScore import io.objectbox.query.Query import org.pytorch.IValue import org.pytorch.Module @@ -117,13 +118,18 @@ object FoodModule { box.query(Food_.foodVector.nearestNeighbors(floatArray, queryCount)).build() //查询比较分数 // val tempList = query.findWithScores().sortedBy { it.score }.map { "${it.get().name}|${it.get().foodIdx}|${it.score}" } - val idScoreList = query.findIdsWithScores() + var idScoreList: List + try { + idScoreList = query.findIdsWithScores(); + } finally { + // 先关闭Query,释放Cursor + query.close() + } val nameScoreList = mutableListOf() idScoreList.forEach { nameScoreList.add(IdNameScore(id = it.id, name = box.get(it.id).name?:"", score = it.score)) } Timber.tag("FoodModule").d("queryFood数据:${nameScoreList.toJsonString()}") - query.close() return nameScoreList } fun getFoodScoreList(bitmap: Bitmap, queryCount: Int = 15): List {