Если на практике это одноэлемент, я думаю, что могу получить некоторую эффективность, объявив соответствующих членов "статическими", с нулевым риском. Да?
Могу ли я получить некоторую эффективность, объявив соответствующих членов "статичным" в действии Android
Ответ 1
там не более одного экземпляра "singleTask" или "singleInstance" активности, чтобы этот экземпляр ожидался для обработки всех новых намерений.
Это означает , вы можете использовать статические члены.
Кроме того, standard
или singleTop
должны иметь только потокобезопасные статические члены. Предположим, что текущий стек активности - A-B-C-D. Если прибывающее намерение относится к типу B типа, который находится в режиме "стандартный" или "одиночный". Новый экземпляр B будет запущен как (поскольку B не находится в верхней части стека), поэтому полученный стек будет A-B-C-D-B.
Ответ 2
Одна вещь, пожалуйста, НЕ используйте singleTask или singleInstance для этой цели. Флаги запуска активности предназначены для контроля того, как ведут себя действия. Они оказывают заметное влияние на взаимодействие пользователя с вашей деятельностью (что делает его нестандартным). Эти режимы предназначены для использования, когда вы хотите такого взаимодействия с пользователем, они НЕ должны использоваться для изменения деталей реализации вашего приложения.
Ответ 3
Нет. Тот же самый Activity
можно запустить несколько раз в том же процессе. Например, вы можете попробовать запустить Activity
из себя, нажав кнопку.
Ответ 4
Да, действие может быть "singleton", если вы убедитесь, что экземпляр Activity A не запущен, а другой экземпляр Activity A находится в стеке действий (экземпляр Activity A может технически запустить другой экземпляр самого себя).
Ответ 5
См. свойство свойства activityMode на странице android.developer.
Цитата: " стандарт - это режим по умолчанию и подходит для большинства типов действий. SingleTop также является общим и полезным режимом запуска для многих видов действий. Другие режимы - singleTask и singleInstance - не подходят для большинства приложений, поскольку они приводят к модели взаимодействия, которая, вероятно, будет незнакома пользователям и сильно отличается от большинства других приложений".