Ответ
Разработал приложение для фитнес-трекинга с кастомными графиками на Compose, оптимизировав рендеринг для 60 FPS даже на слабых устройствах. Реализовал оффлайн-синхронизацию через WorkManager и Room, что сократило нагрузку на сервер на 40%.
Особенно горжусь багфиксом в LiveData, где race condition приводил к утечкам памяти. Нашел root cause через StrictMode и Android Profiler, исправил через postValue + AtomicBoolean.
private val _data = MutableLiveData<Result>()
val data: LiveData<Result> = _data
fun fetch() {
if (!isFetching.getAndSet(true)) {
viewModelScope.launch {
_data.postValue(repository.load())
isFetching.set(false)
}
}
}
Приложение получило 4.8+ в Google Play и 100К+ установок.