С помощью:
- Mutex — аналог Lock для корутин.
- Channel — для безопасного обмена данными.
- atomic/Volatile — при использовании из kotlinx.atomicfu.
- Использование withContext и Dispatchers для контроля над потоком.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3
Anonymous Quiz
41%
Использовать Double Check Locking
29%
Использовать volatile
12%
Использовать внутренний статический класс
17%
Использовать synchronized
👍1🔥1
Anonymous Quiz
5%
lazyOf
75%
lazy
19%
lateinit
0%
deferred
- Start Service (обычный):
- onCreate()
- onStartCommand()
- onDestroy()
- Bound Service (привязанный):
- onCreate()
- onBind()
- onUnbind()
- onDestroy()
Система может перезапустить сервис, если он был завершён (в зависимости от флага START_STICKY, START_NOT_STICKY и т.п.).
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Anonymous Quiz
17%
Используя !! после каждого параметра
34%
Не указывая ? после типа параметра
7%
Объявив параметры как NonNull
42%
Все параметры в Kotlin по умолчанию не-null
🤔4💊4
Anonymous Quiz
79%
object : InterfaceName {}
4%
new InterfaceName() {}
14%
class : InterfaceName {}
3%
InterfaceName.create()
💊2
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
15%
Объявление класса как private
4%
Объявление всех конструкторов класса как private
79%
Объявление класса как final
2%
Использование аннотации @NonInheritable
🔥1
Anonymous Quiz
5%
Управление пользовательским интерфейсом
83%
Выполнение длительных операций в фоновом режиме
8%
Приём и отправка данных через сеть
4%
Управление состоянием приложения
Метод equals используется для логического сравнения объектов — сравнение по содержимому, а не по ссылке. В data class он реализуется автоматически, иначе — нужно переопределять вручную.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
55%
Использовать try/catch с библиотекой парсинга JSON
11%
Применить safeCast с проверкой на null.
0%
Использовать validate метод библиотеки парсинга.
34%
Применить Kotlin сериализацию с автоматической валидацией типов.
Anonymous Quiz
13%
1
69%
2
4%
3
15%
0
map используется для трансформации одного значения в другое. flatMap применяется, когда одно значение порождает целый поток данных, и нужно объединить все внутренние потоки в один внешний.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
13%
lateinit var name: String
46%
val name: String
10%
lazy val name: String
30%
const val name: String
Anonymous Quiz
66%
data class User(val name: String) { fun printName() = println(name) }
16%
class User(val name: String) { fun printName() = println(name) }
9%
data class User(val name: String) { val printName = { println(name) } }
9%
data class User(val name: String, fun printName() = println(name))
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1
Anonymous Quiz
8%
getId()
76%
hashCode()
5%
uniqueId()
11%
getObjectId()
Anonymous Quiz
15%
const val объявляется на уровне класса, val - на уровне объекта.
1%
const val можно переопределить, val - нет.
83%
const val является временем компиляции константой, val может быть установлен во время выполнения.
1%
const val используется для изменяемых объектов, val для неизменяемых.
1. Property Animation (ObjectAnimator, ValueAnimator)
— для анимации свойств (позиция, альфа, масштаб и т.д.).
2. ViewPropertyAnimator
— удобный способ быстро анимировать стандартные свойства View.
3. AnimatorSet
— комбинирует несколько анимаций (параллельно или последовательно).
4. Transition Framework
— для анимаций при изменении layout'а.
5. MotionLayout
— мощный инструмент для сложных анимаций на базе ConstraintLayout.
6. Jetpack Compose Animations
— в декларативном стиле, если используется Compose.
Ставь 👍 если знал ответ, 🔥 если нет
Забирай 📚Базу Знаний
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Anonymous Quiz
7%
Их hashCode должны быть разными.
27%
Их hashCode могут быть разными.
63%
Их hashCode должны быть одинаковыми.
2%
Отношения hashCode не регулируются.