#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 ()», это означает, что ссылка сильная.