android-当错误响应时如何删除codecache

时间:2018-11-29 07:49:11

标签: android kotlin

我使用kotlin和fuel从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)

0 个答案:

没有答案