From 5f64023930c56a187945256674818f846e4a56d5 Mon Sep 17 00:00:00 2001 From: Xwite <1797350009@qq.com> Date: Thu, 5 May 2022 17:08:30 +0800 Subject: [PATCH] =?UTF-8?q?perf:=E9=AA=8C=E8=AF=81=E7=A0=81=20=E6=B5=8F?= =?UTF-8?q?=E8=A7=88=E5=99=A8=E9=A1=B5=E9=9D=A2=E5=86=85=E5=AE=B9=E7=BC=93?= =?UTF-8?q?=E5=AD=98=E5=88=B0=E5=86=85=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/io/legado/app/help/CacheManager.kt | 5 +++++ .../app/ui/association/VerificationCodeDialog.kt | 10 +++++----- .../main/java/io/legado/app/ui/browser/WebViewModel.kt | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/legado/app/help/CacheManager.kt b/app/src/main/java/io/legado/app/help/CacheManager.kt index 156b16998..3a4bf6ea1 100644 --- a/app/src/main/java/io/legado/app/help/CacheManager.kt +++ b/app/src/main/java/io/legado/app/help/CacheManager.kt @@ -35,6 +35,11 @@ object CacheManager { } } + fun putMemory(key: String, value: Any) { + val cache = Cache(key, value.toString(), 0) + memoryLruCache.put(key, cache) + } + fun get(key: String): String? { return getFromMemory(key) ?: appDb.cacheDao.get(key, System.currentTimeMillis()) } diff --git a/app/src/main/java/io/legado/app/ui/association/VerificationCodeDialog.kt b/app/src/main/java/io/legado/app/ui/association/VerificationCodeDialog.kt index 0e8265f7a..918747a46 100644 --- a/app/src/main/java/io/legado/app/ui/association/VerificationCodeDialog.kt +++ b/app/src/main/java/io/legado/app/ui/association/VerificationCodeDialog.kt @@ -19,7 +19,7 @@ import io.legado.app.utils.viewbindingdelegate.viewBinding /** * 图片验证码对话框 - * 结果保存在数据库中 + * 结果保存在内存中 * val key = "${sourceOrigin ?: ""}_verificationResult" * CacheManager.get(key) */ @@ -62,8 +62,8 @@ class VerificationCodeDialog() : BaseDialogFragment(R.layout.dialog_verification } tvOk.setOnClickListener { val verificationCode = binding.verificationCode.text.toString() - verificationCode?.let { - CacheManager.put(key, it) + verificationCode.let { + CacheManager.putMemory(key, it) dismiss() } } @@ -75,8 +75,8 @@ class VerificationCodeDialog() : BaseDialogFragment(R.layout.dialog_verification override fun onDestroy() { val sourceOrigin = arguments?.getString("sourceOrigin") - val key = "${sourceOrigin ?: ""}_verificationResult" - CacheManager.get(key) ?: CacheManager.put(key, "") + val key = "${sourceOrigin}_verificationResult" + CacheManager.get(key) ?: CacheManager.putMemory(key, "") super.onDestroy() activity?.finish() } diff --git a/app/src/main/java/io/legado/app/ui/browser/WebViewModel.kt b/app/src/main/java/io/legado/app/ui/browser/WebViewModel.kt index 7471db654..f3fb99798 100644 --- a/app/src/main/java/io/legado/app/ui/browser/WebViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/browser/WebViewModel.kt @@ -87,7 +87,7 @@ class WebViewModel(application: Application) : BaseViewModel(application) { if (sourceVerificationEnable) { val key = "${sourceOrigin}_verificationResult" html = AnalyzeUrl(baseUrl, headerMapF = headerMap).getStrResponse(useWebView = false).body - CacheManager.put(key, html ?: "") + CacheManager.putMemory(key, html ?: "") } }