DiskReadViolation на Ktor с согласованием jsonAndroid

Форум для тех, кто программирует под Android
Anonymous
DiskReadViolation на Ktor с согласованием json

Сообщение Anonymous »

Моя настройка StrickMode и Ktor HttpClient на Android

Код: Выделить всё

import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
import io.ktor.serialization.kotlinx.json.json

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
StrictMode.setThreadPolicy(
StrictMode.ThreadPolicy.Builder()
.detectAll()
.penaltyDialog()
.penaltyLog()
.build()
)
}

val client = HttpClient(Android) {
install(ContentNegotiation) {
json()
}
}
...
}
Я обнаружил ошибку android.os.strictmode.DiskReadViolation. Обходной путь, который я могу придумать сейчас, — это создавать экземпляр HttpClient каждый раз, когда я собираюсь вызвать конечную точку http, используя фоновый поток. Но я хочу сделать экземпляр одноэлементным и инъекционным, есть предложения?
Я обнаружил, что val client = HttpClient() достаточно, чтобы вызвать проблему.

Подробнее здесь: https://stackoverflow.com/questions/797 ... egotiation

Вернуться в «Android»