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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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