Я относительно новичок в Android, и я пытаюсь портировать приложение с iOS, которое делает что-то немного необычное.
Мое приложение имеет собственный XML-язык для представления графического интерфейса пользователя (виднаш собственный nib / xib в iOS или res / layout / what.xml в android, поверьте, у нас не было выбора), и механизм инфляции, который раздувает этот xml и создает контроллер представления и экземпляры представления.
В результате в iOS в моем приложении было несколько живых экземпляров UIViewController одного и того же класса (добавленных и удаленных из стека навигации по мере необходимости), которые были все надуты один раз (из разных XML) и оставались живыми до тех пор, покакак приложение было.
Теперь я немного не уверен в правильном способе сделать это в Android.В идеале я хотел бы иметь возможность создавать экземпляры класса Activity, каждый из которых имеет свои представления, раздутые из нашего языка XML, и выполнять навигацию между ними.Однако, насколько я понимаю, это невозможно в Android (поскольку действия начинаются с намерений и создаются классом).
- Правда ли, что я не смогу поддерживать активность нав то же время - не в стеке (т. е. «назад» всегда убивает действия)?
- Если так, значит ли это, что мне нужно раздувать действия и все их представления из xml каждый раз, когда я перемещаюсь «вперед» (серьезнопроблема производительности), или есть альтернатива?
- Разумно ли хотя бы сохранить разобранную структуру XML в подклассе приложения, чтобы инфляция была быстрее?
- Имеет ли смыслтолько отправлять (при создании) и сохранять (для постоянства) идентификатор действия в новый экземпляр действия, и он должен перейти в мой подкласс Application и раздувать себя / получать свое состояние по идентификатору?
InВ общем, предполагая, что раздувание GUI из XML является обязательным, и я хотел бы свести к минимуму необходимость повторного раздувания GUI, что бы вы предложили в качествесамое чистое решение?
Любые другие советы будут с благодарностью ... Спасибо!