каков базовый уровень при создании действия?

#android

#Android

Вопрос:

Я знаю, что при создании объекта существует три ссылочных типа: StrongReference, SoftReference и WeakReference. Интересно, каков ссылочный тип при создании activity. Я могу догадаться, что фрагмент может иметь три типа, как показано ниже.

 
val fragment = MyFragment()
    fragment = SoftReference(MyFragment())
    fragment = WeakReference(MyFragment())

 

Но я ничего не думаю об activity.
Есть ли какой-либо способ проверить это даже при использовании DI (dagger или hilt)?

Ответ №1:

Activities имеют сильную ссылку. Тест, который вы можете сделать, это создать ОЧЕНЬ МЕДЛЕННУЮ AsyncTask, которая содержит ссылку на Activity, а затем завершить () действие. Если вы можете получить доступ к переменной Activity из «AsyncTask.onPostExecute ()», это означает, что ссылка сильная.