This commit is contained in:
mazengfei
2026-01-29 18:52:44 +08:00
parent c76095788c
commit a7bac4321e
10 changed files with 69 additions and 27 deletions
@@ -2,6 +2,7 @@ package com.sw.inbound.activity
import android.annotation.SuppressLint
import android.app.Dialog
import android.content.Context
import android.graphics.Bitmap
import android.net.Uri
import android.os.Bundle
@@ -16,6 +17,8 @@ import androidx.core.view.updateLayoutParams
import androidx.lifecycle.lifecycleScope
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import coil.ImageLoader
import coil.annotation.ExperimentalCoilApi
import com.sw.inbound.R
import com.sw.inbound.adapter.FoodCollectionAdapter
import com.sw.inbound.adapter.GoodsSearchAdapter
@@ -62,8 +65,8 @@ class FoodCollectionActivity : ComponentActivity() {
companion object {
const val TAG = "FoodCollectionActivity"
const val MAX_COUNT = 102
val PAGE_SIZE = 30
const val MAX_COUNT = 16
const val PAGE_SIZE = 30
}
private var box: Box<Food>? = null
@@ -131,7 +134,7 @@ class FoodCollectionActivity : ComponentActivity() {
cameraUtils.setPreviewController(previewView)
binding.btnBack.setOnClickListener { finish() }
binding.rvFoodCollection.let {
it.layoutManager = GridLayoutManager(this, 3, GridLayoutManager.VERTICAL, false)
it.layoutManager = GridLayoutManager(this, 4, GridLayoutManager.VERTICAL, false)
it.adapter = collectionAdapter
}
@@ -251,6 +254,9 @@ class FoodCollectionActivity : ComponentActivity() {
@SuppressLint("NotifyDataSetChanged")
private fun clearData() {
val count = collectList.count { it.imageFile !=null }
if (count == 0) return
clearCoilCache(this)
collectList.forEach {
try {
if (it.bitmap?.isRecycled?.not() == true) {
@@ -574,6 +580,19 @@ class FoodCollectionActivity : ComponentActivity() {
tvTip?.text = tip
}
/**
* 清除Coil缓存
*/
@OptIn(ExperimentalCoilApi::class)
fun clearCoilCache(context: Context) {
val imageLoader = ImageLoader.Builder(context).build()
// 清除内存缓存
imageLoader.memoryCache?.clear()
// 清除磁盘缓存
imageLoader.diskCache?.clear()
}
data class RespData(
var code: String? = null,
var data: String? = null,