Фрагмент onStop () и onDetach (), onDestroy () или onDestroyView () одного и того же? - PullRequest
0 голосов
/ 25 августа 2018

Этот вопрос стоит задать от имени новых разработчиков в Android.

Идея состоит в том, чтобы обеспечить глубокое понимание того, почему структура написана как таковая. Кроме того, разработчики сталкиваются с висящими указателями, недопустимыми состояниями и такими сбоями во время выполнения, и они не имеют ни малейшего представления о том, почему это происходит.

Программисты в наши дни интенсивно используют обратный вызов и фабричные шаблоны. Использование объектов класса делегата уменьшает потребность в классах Singleton и необходимость множественного наследования в таких языках, как C, C ++.

Разработчики в восторге от понимания передачи сообщений между компонентами на основе обработчика.

Какой из этих методов более надежен, чтобы знать, что контекст Фрагмента больше не должен использоваться его компонентами или вне Действия, которое является его родительским элементом:

  1. OnStop ()
  2. onDetach ()
  3. onDestroyView ()
  4. OnDestroy ()

С наилучшими пожеланиями.

Ответы [ 2 ]

0 голосов
/ 25 августа 2018

Я отслеживаю все эти методы, чтобы прекратить использование getView() фрагмента. Я логически чувствую, onDestroy(), это самый подходящий метод для этой цели.

Я так же использую трекеры в этом ответе: https://stackoverflow.com/a/52017405/787399

Эта стратегия наследования очень помогает и улучшает смысл жизненных циклов Activity и Fragments. На самом деле, он настолько силен, что вы можете иметь те функции, которые не предоставлены неявным образом: например, вы можете обрабатывать нажатие системы обратно (управляется методом BaseActivity в onBackPressed()) всякий раз, когда нажимается кнопка возврата на Fragment, и Вы можете заблокировать вызов back pressed event, пока не будет выполнено какое-либо условие, или поместить OK_Cancel confirmation alert, если хотите действительно выйти из текущего фрагмента.

Счастливое кодирование: -)

0 голосов
/ 25 августа 2018

Пожалуйста, пройдите по этой ссылке, чтобы понять жизненный цикл фрагментов

В нем говорится, что пока ваш текущий фрагмент (вы можете отслеживать с помощью getter и setter в расширенном классе Application) находится в фазе смерти, getView(), иgetActivity() вернет null.Таким образом, вы не должны использовать эти методы и быть осторожными с соответствующими обратными вызовами жизненного цикла (опять же можно отслеживать с использованием логических методов получения и установки в абстрактных подклассах BaseFragment / BaseActivity обычных конкретных классов Fragment и Activity).

источник

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...