perf(android): ленивый плеер записей, O(n) merge каталога, @Immutable, лог только в debug
- RecordingPlaybackController: ExoPlayer создаётся лениво (на первый play) и освобождается в stop() — раньше второй плеер висел в памяти всю сессию у каждого. Поллер позиции 500мс крутится только во время игры (был вечный 2 Гц main-loop). - StationRepositoryImpl.refreshStations: merge каталога O(n) через apiById/apiByName индексы вместо .find на каждую станцию (было O(n²) ~700×700 на холодном старте). Убраны verbose Log.d-трейсы (оставлен Log.e/.w на ошибки). - Track/Station/StreamQuality помечены @Immutable — read-only модели, иначе списки tags/qualities делали класс нестабильным → лишние рекомпозиции списков. - HttpLoggingInterceptor только при BuildConfig.DEBUG (включён buildConfig feature): в релизе нет оверхеда на каждый запрос и утечки URL в logcat.
This commit is contained in:
@@ -42,6 +42,7 @@ android {
|
||||
}
|
||||
buildFeatures {
|
||||
compose = true
|
||||
buildConfig = true
|
||||
}
|
||||
composeOptions {
|
||||
kotlinCompilerExtensionVersion = "1.5.14"
|
||||
|
||||
Reference in New Issue
Block a user