я использую kotlin и fuel для получения больших данных json из API-сервисов, но трудно обработать ошибку 403 Запрещено, поэтому я использую флаг для повторного вызова этого API-интерфейса для получения данных из API, еще одна ошибка OutOfMemoryError, потому что она не удаляет code_cache, поэтомуКак я могу удалить code_cache, если Result.Failure.Или, если у вас есть идеи, пожалуйста, помогите мне.Спасибо за просмотр.
Мой код:
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)