Przeglądaj źródła

Merge pull request #1846 from Xwite/master

perf:验证码 浏览器页面内容缓存到内存
kunfei 4 lat temu
rodzic
commit
04b64d708b

+ 5 - 0
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? {
     fun get(key: String): String? {
         getFromMemory(key)?.let {
         getFromMemory(key)?.let {
             return it
             return it

+ 3 - 3
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"
  * val key = "${sourceOrigin ?: ""}_verificationResult"
  * CacheManager.get(key)
  * CacheManager.get(key)
  */
  */
@@ -64,7 +64,7 @@ class VerificationCodeDialog() : BaseDialogFragment(R.layout.dialog_verification
             tvOk.setOnClickListener {
             tvOk.setOnClickListener {
                 val verificationCode = binding.verificationCode.text.toString()
                 val verificationCode = binding.verificationCode.text.toString()
                 verificationCode.let {
                 verificationCode.let {
-                    CacheManager.put(key, it)
+                    CacheManager.putMemory(key, it)
                     dismiss()
                     dismiss()
                 }
                 }
             }
             }
@@ -77,7 +77,7 @@ class VerificationCodeDialog() : BaseDialogFragment(R.layout.dialog_verification
     override fun onDestroy() {
     override fun onDestroy() {
         val sourceOrigin = arguments?.getString("sourceOrigin")
         val sourceOrigin = arguments?.getString("sourceOrigin")
         val key = "${sourceOrigin}_verificationResult"
         val key = "${sourceOrigin}_verificationResult"
-        CacheManager.get(key) ?: CacheManager.put(key, "")
+        CacheManager.get(key) ?: CacheManager.putMemory(key, "")
         super.onDestroy()
         super.onDestroy()
         activity?.finish()
         activity?.finish()
     }
     }

+ 1 - 1
app/src/main/java/io/legado/app/ui/browser/WebViewModel.kt

@@ -87,7 +87,7 @@ class WebViewModel(application: Application) : BaseViewModel(application) {
         if (sourceVerificationEnable) {
         if (sourceVerificationEnable) {
             val key = "${sourceOrigin}_verificationResult"
             val key = "${sourceOrigin}_verificationResult"
             html = AnalyzeUrl(baseUrl, headerMapF = headerMap).getStrResponse(useWebView = false).body
             html = AnalyzeUrl(baseUrl, headerMapF = headerMap).getStrResponse(useWebView = false).body
-            CacheManager.put(key, html ?: "")
+            CacheManager.putMemory(key, html ?: "")
         }
         }
     }
     }