Если у меня есть объект-компаньон с контекстом удержания другого класса, как показано ниже.
class Sample01Activity: BaseActivity() {
companion object {
fun open(context: Context) {
val intent = Intent(context, Sample02Activity::class.java)
ActivityCompat.startActivity(context, intent, null)
}
}
}
Вызывает ли утечка памяти в этом коде метод open (context)? И если он это сделал, будет ли он исправлен с помощью Weakreference, как показано ниже.
class SampleActivity: BaseActivity() {
companion object {
fun open(context: WeakReference(Context)) {
context.get()?.let {
val intent = Intent(it, Sample02Activity::class.java)
ActivityCompat.startActivity(it, intent, null)
}
}
}
}