首页 > 解决方案 > android如何在响应错误时删除代码缓存

问题描述

我使用 kotlin 和燃料从 API 服务获取大数据 json,但很难处理错误 403 Forbidden 所以我使用标志重新调用此 API 以从 API 获取数据,另一个错误是 OutOfMemoryError 因为它没有删除 code_cache,所以我怎么能如果 Result.Failure 删除 code_cache。或者,如果您有任何想法,请帮助我。感谢收看。

我的代码:

val requestParams = ArrayList<Pair<String, Any>>(2)
    requestParams.add(Pair("method", "ListMedicalTerm"))
    requestParams.add(Pair("offset", offset))
    requestParams.add(Pair("limit", limit))
    var flags = 0
    do {
        Urls.getMedicalTermList().httpPost(requestParams).responseJson { _, response, result ->
            when (result) {
                is Result.Failure -> {
                    flags += 1
                    Log.d("Error", flags.toString())
                }

                is Result.Success -> {
                    flags = 1
                    try {
                        val med_respone = result.get().content
                        var gson = GsonBuilder().setLenient().create()
                        val res_data = gson.fromJson(med_respone, ResponeMedicalTerm::class.java).data

                        responeHandler.invoke(res_data as ArrayList<MedicalTerm>)
                    } catch (ex: Exception) {
                        Log.d("Error", ex.toString())
                    }
                    Thread.sleep(1000)
                }
            }
        }
    } while (flags == 0)

标签: androidkotlin

解决方案


推荐阅读