– Использовать эмулятор и встроенные инструменты Android Studio (Logcat, Profiler),
– Добавить ручные замеры времени,
– Использовать Unit и Instrumented тесты,
– Использовать StrictMode и LeakCanary.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
49%
Comparable
29%
Comparator
2%
ComparableInterface
20%
Orderable
💊1
Anonymous Quiz
49%
Использование ключевого слова object
14%
Применение @Volatile и @Synchronized
11%
Использование двойной проверки блокировки
26%
Все вышеуказанные методы
Reified позволяет сохранять информацию о дженерике во время выполнения, что делает возможным проверки типа (if (T is String)).
Используется только в inline-функциях, так как код подставляется во время компиляции, сохраняя информацию о типе.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2💊1
Anonymous Quiz
78%
data class User(val name: String, val age: Int = 0)
7%
data class User(val name: String, optional val age: Int)
2%
data class User(mandatory val name: String, val age: Int?)
13%
data class User(val name: String, var age: Int?)
Anonymous Quiz
23%
Использовать arrayOfNulls()
25%
Применить Array(size) { initialValue }
15%
Объявить массив через new Array()
37%
Использовать listOfNotNull()
- Parcelable — Android-специфичный интерфейс, требует ручной реализации, но работает быстрее и эффективнее.
Используй Parcelable в Android, особенно для передачи данных между компонентами.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
66%
Определить функцию с ключевым словом operator
9%
Использовать аннотацию @operator
24%
Просто определить функцию с нужным именем
1%
Использовать интерфейс Operator
💊1
Anonymous Quiz
85%
Использовать as? и ?:
2%
Применить is и явное приведение
10%
Использовать try/catch блок с явным приведением
2%
Использовать функцию typeSafeCast
2. При восстановлении (в onRestoreInstanceState) установить сохранённую позицию через RecyclerView.scrollToPosition или ScrollView.scrollTo.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2🔥1
Anonymous Quiz
35%
2
54%
3
6%
4
4%
5
Anonymous Quiz
41%
val myVar by lazy(LazyThreadSafetyMode.SYNCHRONIZED) { computeValue() }
58%
val myVar by lazy { computeValue() }
1%
lazy val myVar = { computeValue() }
0%
val myVar: Lazy = lazy { computeValue() }
💊4
LIMIT нужен для:
- ограничения количества строк, что повышает производительность.
- постраничной загрузки.
- снижения потребления памяти и ускорения UI при отображении больших выборок.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
44%
true
40%
false
5%
null
11%
Ошибка компиляции
Anonymous Quiz
2%
5
95%
10
2%
8
2%
4
Он используется для итераций и проверки вхождения числа в диапазон.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
21%
CyclicBarrier
38%
Semaphore
30%
CountDownLatch
11%
Exchanger
Anonymous Quiz
27%
Используя try-catch блок внутри каждой функции
38%
Применяя функцию runCatching и последующие вызовы onFail или onSuccess
17%
Вызывая функции внутри блока finally
18%
Ни один из перечисленных методов
💊1
Forwarded from Идущий к IT
🔥 Записал видос "Как за 3 минуты настроить Автоотклики на вакансии HeadHunter" больше не придется заниматься этой унылой рутиной
📺 Видео: https://youtu.be/G_FOwEGPwlw
Please open Telegram to view this post
VIEW IN TELEGRAM
Можно описать набор состояний, каждое из которых — отдельный подкласс sealed-класса. Это удобно для моделирования состояний UI, например: Loading, Success, Error. Все возможные состояния известны компилятору, что делает обработку безопасной.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1