From 77afcf887743cbad1060e3adadc9cc59679d0f84 Mon Sep 17 00:00:00 2001 From: LooKeR Date: Sun, 16 Jan 2022 18:36:24 +0530 Subject: [PATCH] Improve: Reduce memory allocation on viewmodel startup --- build.gradle | 1 - .../ui/viewmodels/MainNavFragmentViewModelX.kt | 14 ++++++-------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index a9b6ea68..6d8ba4f6 100644 --- a/build.gradle +++ b/build.gradle @@ -146,7 +146,6 @@ dependencies { // Material3 implementation 'com.google.android.material:material:1.6.0-alpha01' - // FastAdapter implementation("com.mikepenz:fastadapter:5.6.0") implementation("com.mikepenz:fastadapter-extensions-diff:5.6.0") diff --git a/src/main/kotlin/com/looker/droidify/ui/viewmodels/MainNavFragmentViewModelX.kt b/src/main/kotlin/com/looker/droidify/ui/viewmodels/MainNavFragmentViewModelX.kt index 98c38575..eab1c7d9 100644 --- a/src/main/kotlin/com/looker/droidify/ui/viewmodels/MainNavFragmentViewModelX.kt +++ b/src/main/kotlin/com/looker/droidify/ui/viewmodels/MainNavFragmentViewModelX.kt @@ -84,18 +84,16 @@ class MainNavFragmentViewModelX(val db: DatabaseX, source: Source) : ViewModel() } } - var productsList: LiveData> - - init { - - val pagedListConfig = PagedList.Config.Builder() + private val pagedListConfig by lazy { + PagedList.Config.Builder() .setPageSize(30) .setPrefetchDistance(30) .setEnablePlaceholders(false) .build() - val request = request(source) - - productsList = LivePagedListBuilder( + } + val request = request(source) + val productsList: LiveData> by lazy { + LivePagedListBuilder( db.productDao.queryList( installed = request.installed, updates = request.updates,