Фрагменты устарели в Android P

Я смотрел на документация и нашел это

этот класс устарел на уровне API P.

Почему фрагменты устарели в android P?

2 ответов


переписать в библиотеке поддержки 27.1.0

средний пост Яна (28 февраля 2018,) дает нам объяснение об этом. Он является разработчиком Android Framework в Google.

загрузчики в библиотеке поддержки 27.1.0

для библиотеки поддержки 27.1.0 я переписал внутренности LoaderManager, класс, питающий API загрузчиков, и я хотел объяснить причины изменений и чего ожидать вперед.

погрузчики и фрагменты, история
С самого начала погрузчики и фрагменты были довольно плотно связаны между собой на бедре. Это означало, что большая часть кода в FragmentActivity и Fragment была предназначена для поддержки загрузчиков, несмотря на то, что они действительно довольно независимы. ...

что изменилось в 27.1.0
С 27.1.0, техническая задолженность Затяжелителей значительно была уменьшена: …

...

Примечание: очевидно, что эти изменения применяются только для поддержки загрузчиков библиотек. Если вы используете Android framework Loaders, пожалуйста, переключитесь на библиотеку поддержки загрузчиков как можно скорее. Для API загрузчика фреймворка не запланировано никаких исправлений ошибок или улучшений.

похоже, что код в Fragment и FragmentActivity был изменен, чтобы сделать загрузчики необязательной зависимостью.

по данным примечание к выпуску новая реализация основана на Lifecycle.

Важные Изменения
Основная реализация погрузчики был переписан для использования жизненный цикл.

Компоненты Архитектуры

на Библиотека Поддержки 26.1.0, Fragment и FragmentActivity был принят Lifecycle.

это специальный выпуск интегрируйте библиотеку поддержки с жизненными циклами из компонентов архитектуры. Если вы не используете библиотеку жизненных циклов, вам не нужно обновлять с 26.0.2. Дополнительные сведения см. В примечаниях к выпуску компонентов архитектуры.

важные изменения

  • Fragment и FragmentActivity (базовый класс для AppCompatActivity) теперь реализуют интерфейс LifecycleOwner из компонентов архитектуры.

напротив, фрагмент и активность в Android P не реализован интерфейс LifecycleOwner.

на сообщение Google+ (упоминается в ThanosFisherman ответ), Ян сделал комментарий:

вы не можете изменить код фреймворка после его отправки-он буквально заморожен во времени. Это означает отсутствие новых функций и, что более важно, никаких исправлений ошибок. Это нехорошо. опыт разработчика, особенно когда у нас полностью поддерживает, в курсе, совместим версии в библиотеке.

Я думаю, что именно по этой причине Android P не принимает Lifecycle. Следовательно Fragment устарел в Android P.


фрагменты библиотеки поддержки здесь, чтобы остаться. Google рекомендует использовать версии библиотек поддержки для обеспечения согласованного поведения на всех уровнях API, исправления ошибок и поддержки жизненного цикла и ViewModel.

https://plus.google.com / +IanLake/посты/WAGQiG7LaKs