Страницы

Поиск по вопросам

суббота, 7 декабря 2019 г.

Фрагменты или отдельные активити

#android #оптимизация #activity #android_fragment


Только начинаю работать с Android, возник вопрос по поводу оптимизации работы приложения.
При возможности реализовать приложение обеими путями, чему стоит отдавать предпочтение:
разным активити или построению основной части приложения с использованием фрагментов?
К примеру, имеется простенькое приложение-игра, пусть она будет заключаться в сложении
чисел. Приложение состоит из главного экрана, основного экрана игры и страницы с рекордами.
Стоит ли это все засунуть с помощью фрагментов в одно активити или лучше разграничить
по разным?
    


Ответы

Ответ 1



Вопрос того, когда использовать фрагменты, разработчик принимает сам, из соображений необходимости, а не так, чтобы раз есть - значит надо использовать. Бездумное использование фрагментов только расходует ресурсы устройства в пустую. Идея фрагментов основана на том, что потребовалась возможность часть кода активити выделить в отдельный самостоятельный блок. Что позволяет, с одной стороны, иметь несколько обособленных блоков в одной активити, с другой - в нескольких активити, один и тот же блок. Отсюда типичные применения фрагментов: Однопанельный интерфейс на телефоне - двухпанельный (многопанельный) на планшете - то, ради чего все и затевалось в основном. Использование одного отображения, требующего какой то логики в разных активити (исключение дублирования кода). Есть еще некоторые решения, где фрагменты оправданы и используются, например, вывод диалоговых окон через фрагмент позволяет удобнее контролировать изменения состояния в процессе работы, такие как поворот устройства. Общий принцип такой, что если проще не использовать фрагменты - их не надо использовать. Что касается конкретно вашего случая, то использование фрагментов в такой задаче только запутает и усложнит структуру приложения, ничего, кроме дополнительного геморроя на пустом месте вы тут не выгадаете.

Ответ 2



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

Комментариев нет:

Отправить комментарий