и посмотреть медиа
Kotlin | Вопросы собесов
и посмотреть медиа
Вопросы для Kotlin-разработчиков с ответами.
Вопросы для Kotlin-разработчиков с ответами.
AI bot for text-to-speech and voice cloning in Telegram. Create audio using neural network quickly and easily.
Вопросы на Kotlin-собеседованиях: расширения, корутины, коллекции. С примерами кода и объяснениями для Android и backend.
🤔 Если профайлер показывает тебе что какой-нибудь фрейм занял 120 миллисекунд, что это значит? Если профайлер показывает, что рендеринг какого-либо фрейма занял 120 миллисекунд, это означает, что этот фрейм выполнялся слишком долго, что приводит к фризам и лагам в пользовательском интерфейсе. 🚩Разбор проблемы 🟠Что значит "фрейм" в этом контексте? В Android интерфейс обновляется 60 раз в секунду (частота 60 FPS). Это значит, что каждый кадр (фрейм) должен рендериться не дольше 16,67 мс (1000 мс / 60 FPS). 🟠Почему 120 мс — это плохо? Если рендеринг кадра занимает 120 мс, то за это время устройство должно было бы нарисовать 7 кадров (120 / 16,67 ≈ 7). Однако оно успело обработать только один, что приводит к заметному подтормаживанию. 🟠Что может вызывать такие задержки? Тяжёлые вычисления в основном потоке (UI Thread) – например, сложные математические операции, работа с JSON, парсинг файлов. Долгие операции с рендерингом – сложные векторные изображения, перегруженные Canvas.draw() или анимации. Синхронные вызовы I/O (чтение файлов, базы данных, сети) – если, например, в onDraw() идёт обращение к диску или базе данных. Неоптимальный layout – глубокая иерархия ViewGroup, частые перерасчёты макетов (measure/layout). 🚩Как исправить? 🟠Перенести тяжёлые вычисления в фоновый поток Coroutines, Executors, WorkManager 🟠Использовать профайлер Android Studio для поиска "узких мест". 🟠Оптимизировать рендеринг избегать сложных onDraw(), использовать ViewStub, RecyclerView. 🟠Пересмотреть макет убрать ненужные ViewGroup, использовать ConstraintLayout. Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаOnly registered users can share their opinion.
Be the first to share your impression of this resource!
The Buddy CommunityShowfor communication, content sharing and friendly meetings. Live discussion of topics on Telegram.
The official channel of the provider Flex with news, network status and useful information.
English-language newsMINE.exchange about digital currencies and service updates.