Skip to content

Commit 3ae7a23

Browse files
Performance improvements
1 parent c763704 commit 3ae7a23

File tree

1 file changed

+19
-18
lines changed

1 file changed

+19
-18
lines changed

app/src/main/kotlin/com/d4rk/cleaner/ui/home/HomeComposable.kt

Lines changed: 19 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,20 @@ fun HomeComposable() {
8484
val isAnalyzing by viewModel.isAnalyzing.observeAsState(false)
8585
val selectedFileCount by viewModel.selectedFileCount.collectAsState()
8686

87+
val imageLoader = ImageLoader.Builder(context)
88+
.memoryCache {
89+
MemoryCache.Builder(context)
90+
.maxSizePercent(0.24)
91+
.build()
92+
}
93+
.diskCache {
94+
DiskCache.Builder()
95+
.directory(context.cacheDir.resolve("image_cache"))
96+
.maxSizePercent(0.02)
97+
.build()
98+
}
99+
.build()
100+
87101
val launchScanningKey = remember { mutableStateOf(false) }
88102

89103
Column(
@@ -112,7 +126,7 @@ fun HomeComposable() {
112126
.size(128.dp, 66.dp)
113127
)
114128
} else {
115-
AnalyzeComposable(launchScanningKey)
129+
AnalyzeComposable(launchScanningKey, imageLoader)
116130
}
117131
}
118132
Row(
@@ -212,7 +226,7 @@ fun HomeComposable() {
212226
* @param viewModel The HomeViewModel instance used to interact with the data and business logic.
213227
*/
214228
@Composable
215-
fun AnalyzeComposable(launchScanningKey: MutableState<Boolean>) {
229+
fun AnalyzeComposable(launchScanningKey: MutableState<Boolean>, imageLoader: ImageLoader) {
216230
val viewModel: HomeViewModel = viewModel()
217231
val files by viewModel.scannedFiles.asFlow().collectAsState(initial = listOf())
218232

@@ -247,7 +261,7 @@ fun AnalyzeComposable(launchScanningKey: MutableState<Boolean>) {
247261
modifier = Modifier.padding(8.dp)
248262
) {
249263
items(files) { file ->
250-
FileCard(file = file, viewModel = viewModel)
264+
FileCard(file = file, viewModel = viewModel, imageLoader = imageLoader)
251265
}
252266
}
253267
}
@@ -282,24 +296,10 @@ fun AnalyzeComposable(launchScanningKey: MutableState<Boolean>) {
282296

283297

284298
@Composable
285-
fun FileCard(file: File, viewModel: HomeViewModel) {
299+
fun FileCard(file: File, viewModel: HomeViewModel, imageLoader: ImageLoader) {
286300
val context = LocalContext.current
287301
val fileExtension = getFileExtension(file.name)
288302

289-
val imageLoader = ImageLoader.Builder(context)
290-
.memoryCache {
291-
MemoryCache.Builder(context)
292-
.maxSizePercent(0.24)
293-
.build()
294-
}
295-
.diskCache {
296-
DiskCache.Builder()
297-
.directory(context.cacheDir.resolve("image_cache"))
298-
.maxSizePercent(0.02)
299-
.build()
300-
}
301-
.build()
302-
303303
val thumbnail = remember(file.absolutePath) {
304304
getVideoThumbnail(file.absolutePath, thumbnailWidth = 64, thumbnailHeight = 64)
305305
}
@@ -330,6 +330,7 @@ fun FileCard(file: File, viewModel: HomeViewModel) {
330330
}
331331
}
332332
)
333+
.size(64)
333334
.crossfade(true)
334335
.build(),
335336
imageLoader = imageLoader,

0 commit comments

Comments
 (0)