diff --git a/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt b/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt index 33a93e85d..fc8d40e01 100644 --- a/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/main/MainViewModel.kt @@ -3,6 +3,7 @@ package io.legado.app.ui.main import android.app.Application import androidx.lifecycle.MutableLiveData import androidx.lifecycle.viewModelScope +import androidx.recyclerview.widget.RecyclerView.RecycledViewPool import io.legado.app.base.BaseViewModel import io.legado.app.constant.AppConst import io.legado.app.constant.AppLog @@ -52,6 +53,12 @@ class MainViewModel(application: Application) : BaseViewModel(application) { val onUpBooksLiveData = MutableLiveData() private var upTocJob: Job? = null private var cacheBookJob: Job? = null + val booksListRecycledViewPool = RecycledViewPool().apply { + setMaxRecycledViews(0, 30) + } + val booksGridRecycledViewPool = RecycledViewPool().apply { + setMaxRecycledViews(0, 100) + } override fun onCleared() { super.onCleared() diff --git a/app/src/main/java/io/legado/app/ui/main/bookshelf/BaseBookshelfFragment.kt b/app/src/main/java/io/legado/app/ui/main/bookshelf/BaseBookshelfFragment.kt index f371a8706..e119eff75 100644 --- a/app/src/main/java/io/legado/app/ui/main/bookshelf/BaseBookshelfFragment.kt +++ b/app/src/main/java/io/legado/app/ui/main/bookshelf/BaseBookshelfFragment.kt @@ -28,7 +28,15 @@ import io.legado.app.ui.file.HandleFileContract import io.legado.app.ui.main.MainFragmentInterface import io.legado.app.ui.main.MainViewModel import io.legado.app.ui.widget.dialog.WaitDialog -import io.legado.app.utils.* +import io.legado.app.utils.checkByIndex +import io.legado.app.utils.getCheckedIndex +import io.legado.app.utils.isAbsUrl +import io.legado.app.utils.postEvent +import io.legado.app.utils.readText +import io.legado.app.utils.sendToClip +import io.legado.app.utils.showDialogFragment +import io.legado.app.utils.startActivity +import io.legado.app.utils.toastOnUi abstract class BaseBookshelfFragment(layoutId: Int) : VMBaseFragment(layoutId), MainFragmentInterface { @@ -198,6 +206,11 @@ abstract class BaseBookshelfFragment(layoutId: Int) : VMBaseFragment