tgoop.com/dev_easy_notes/91
Last Update:
Скорее всего все и так уже примерно знают что такое фрагмент. Все слышали про историю с появлением планшетов, разделение UI и бла бла бла. Грубо говоря можно представить, что фрагмент это просто такая сложная View со своим состоянием и жизненным циклом очень похожим на жизненный цикл Activity.
Как и View фрагмент не может существовать сам по себе, он может существовать только в рамках Activity или другого фрагмента (который естесна живет в Activity). Жизненный цикл фрагмента сильно завязан на ЖЦ Activity, если у Activity был вызван onStop, значит и у всех фрагментов тоже был вызван onStop. Не может быть такого чтобы у Activity статус pause, а фрагмента stop все абсолютно синхронно.
У Activity может быть много фрагментов. Они могут отображаться на экране разделяя его пополам, могут быть наложены друг на друга, короче как угодно. В этом плане фрагменты гораздо гибче Activity которая может быть только одна на экране. Из-за такого удобства и возникают подходы вроде Single Activity или Ribs о которых я тоже скоро сделаю посты.
Все это и так можно было прочитать в доке, ничего нового я вам тут не расскажу. Однако при всей своей кажущейся простоте есть нюансы работы с ними. Например: фрагмент для оптимизации, может убить View, но сам фрагмент при этом не умрет, или что фрагмент может жить, но не быть привязан к Activity. Помимо этого если Activity создает сама система, с фрагментами история немного другая. Из-за всех этих нюансов возникают вопросы:
👉 Как правильно показать первый фрагмент?
👉 Как правильно передать данные в этот фрагмент?
👉 Почему так много методов чтобы закомитить транзакцию фрагмента?
👉 Что такое Back Stack и зачем про это знать?
👉 Что будет если показать фрагмент когда Activity в статусе onStop?
👉 Может ли быть фрагмент без View?
Все эти моменты важны в работе, на некоторых можно подорваться, про них спрашивают на собесах и про них и поговорим в следующих постах.
BY Dev Easy Notes
Share with your friend now:
tgoop.com/dev_easy_notes/91