Я не думаю, что сохранение ссылок View во время AsyncTask - это хороший подход.Вы должны изменить свою архитектуру асинхронной работы по-другому.Пожалуйста, ознакомьтесь с Android Jetpack , там вы найдете практические рекомендации практически для каждого случая разработки Android.И любые проблемы, связанные с состоянием «активность уничтожена», будут обрабатываться автоматически, если вы будете использовать Компоненты архитектуры Android .
Что касается вашего случая, WeakReference можно очистить в любое время, когда решит сборщик мусора.Таким образом, это нормальная ситуация, когда вы можете увидеть «ноль» в любой момент.
«Есть ли какой-нибудь способ, которым значение weakReference.get () будет отличаться от ссылки, которую я получил в начале?»- Да, например, пользователь будет поворачивать экран, или система Android может уничтожить и воссоздать вашу активность, когда объем памяти невелик.После этого Activity со всеми представлениями будет воссоздан, и это означает, что система создаст новые экземпляры всех представлений.
"Возможно ли, что вызов метода () для представления приведет к исключению nullPointerException?"- Да, это на самом деле может случаться очень часто.Например, вы запустили AsyncTask и после этого до завершения AsyncTask - поверните экран.