Ответ
Добавил обработку ошибок в сетевых запросах
В одном из проектов приложение падало при потере соединения. Реализовал:
- Retry-логику с экспоненциальной задержкой
- Кеширование последнего успешного ответа
- Уведомление пользователя о проблемах с сетью
fun loadData() {
viewModelScope.launch {
try {
val data = withRetry(3) { api.fetchData() }
_state.value = Success(data)
} catch (e: Exception) {
_state.value = Error(e.message ?: "Unknown error")
showSnackbar("Check your connection")
}
}
}
Результат: CRASH-free сессий вырос на 23%, негативные отзывы о "вылетах" сократились.