Android OnBackPressed finish()?

Я хотел бы знать, есть ли идея реализовать во всех действиях onBackPressed() функцию finish()? Или это не практично и даже не полезно?

Если нет, то какие другие опции, помимо того, что я должен проявлять и вводить SingleInstance (что, по моему мнению, делает приложение медленнее) в каждом действии, есть ли у меня?

Спасибо.

Ответ 1

В первую очередь сама кнопка "Назад" сама вызывает метод finish(). Если вы определяете метод onBackPressed() в своей деятельности, это означает, что вы переопределяете поведение backbutton по умолчанию, когда метод onBackPressed() вызывается при нажатии кнопки возврата.

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

Пройдите Back Stack Documentation для получения полной информации.

Стандарт

и "singleTop" могут создавать экземпляры нескольких действий, и экземпляр останется в одной и той же задаче. Для "singleTask" или "singleInstance" класс активности использует шаблон singleton, и этот экземпляр будет корневой активностью новой задачи.

Ответ 2

Это зависит от ваших требований к приложениям, поскольку мы часто используем финиш() но вы также можете управлять жизненным циклом андроида.

лучше использовать метод паузы и возобновления.