Android, неограниченное количество действий в проекте и жизненный цикл действий!

Несколько дней назад я опубликовал свое приложение в Android Marketplace, и во время проектирования и разработки приложения у меня возник вопрос. Этот вопрос касается ограничения или неограниченности количества действий.

Например, мое приложение включает 37 активностей. Это так много? Я хочу знать, что для такой игры, как "Angry Birds", в которой более 200 уровней, есть 200 действий?!!

Мой следующий вопрос: предположим, что я разрабатываю приложение, включающее 100 действий. Пользователь запускает приложение и переходит к последнему действию (например, чтению книги). Если пользователь хочет закрыть приложение, что ему делать? 100 раз нажать клавишу "назад" на его устройстве?! Если я хочу поместить кнопку закрытия (чтобы помочь пользователю) в меню параметров, нужно ли мне повторять ее для каждого действия? потому что, насколько я знаю, у каждого вида деятельности есть свое меню.

Если я помещу кнопку закрытия в последнее действие, и пользователь нажмет на нее, программа закроется. Что будет с другими 99 видами деятельности? они все еще существуют в стеке? или Когда я закрываю приложение, все действия, связанные с этим пакетом, удаляются из стека.

Я прочитал страницу действий, опубликованную Android, но не смог найти свою ответы.

Извините, если выше вопросы глупые вопросы :) Спасибо


person Hesam    schedule 04.06.2011    source источник
comment
Вы можете закрыть текущую активность после намерения новой активности (вызвав finish() в текущей активности). Таким образом, действия, которые вы не собираетесь использовать, могут быть закрыты, или если вы хотите, чтобы пользователь закрыл приложение при нажатии кнопки «Назад», затем завершите каждое действие после заявления о намерении.   -  person Ashwin    schedule 17.05.2012


Ответы (4)


В случае с Anry Bairds я сомневаюсь, что у них есть сотни действий, я думаю, что у них есть только одно (или, возможно, несколько) для уровней и еще одно для экрана приветствия - вероятно, разные уровни загружаются в зависимости от какого-то параметра, который был передан в Мероприятия.

Что касается того, как обрабатывать 100 загруженных действий, во-первых, весьма вероятно, что система будет перерабатывать старые в нижней части стека, прежде чем вы доберетесь до 100-го действия. Если нет, то да, ваш пользователь должен будет вернуться через 100 действий.

Если вы хотите изменить поведение кнопки «Назад», вы можете переопределить onKeyDown().

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

person Gallal    schedule 04.06.2011


Ну, во-первых, что касается злых птиц, я думаю, что он почти полностью написан на OpenGL ES, поэтому состоит всего из нескольких действий.

И во-вторых, если у вас действительно есть 200 действий, вам, вероятно, следует подумать о действии, которое можно повторно использовать несколько раз. например зачем вам нужно одно действие для каждой страницы книги, если каждая страница должна иметь одинаковый вид и функции? Просто запустите намерение с дополнительными данными, и оно должно сработать. И, чтобы закрыть приложение, вы можете просто нажать кнопку «Домой» :-)

person stk    schedule 04.06.2011

Такое приложение, как Angry Birds, вероятно, имеет одно действие с представлением OpenGL ES, а все взаимодействие выполняется с помощью RelativeLayout.

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

person CQM    schedule 15.07.2011