Ответ
Одна из самых критических ошибок — утечка памяти в Activity из-за удержания ссылки на контекст в статическом поле. Например:
class LeakyActivity : Activity() {
companion object {
var context: Context? = null
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
context = this // Утечка! Activity не сможет быть собрана GC
}
}
Проблема: После поворота экрана старое Activity остается в памяти, так как статическое поле держит ссылку. Это приводит к утечке памяти и потенциальному OutOfMemoryError.
Решение: Использовать WeakReference или избегать статических ссылок на контекст/вьюхи. Для контекста лучше применять ApplicationContext, если не нужен именно Activity.