На сайте есть несколько ответов, но, похоже, мне нужен более четкий ответ.
Предположим, что Activity1 содержит TextView, а Activity2 содержит RecyclerView. Если некоторые данные по Деятельности2 изменены, Мероприятие1 должно быть проинформировано. Существует два способа перехода к действию 1 из занятия 2:
- Обычная кнопка на макете.
- Кнопка «Назад».
Это выглядит возможным звоните startActivity()
с putExtra()
внутри onBackPressed()
. Однако это не выглядит эффективным для меня, так как это перезагрузит пользовательский интерфейс, перезагрузит данные, перезапустит начальные проверки и т. Д. c. Поэтому я хотел бы послать флаг, чтобы в Activity1 могли быть внесены «только существенные» изменения - путем декодирования флага с помощью оператора if
в onStart()
Полагаю (?). Как мне добиться этого с помощью обеих кнопок.
Бонусный вопрос:
- Можно использовать sharedPreferences для передачи данных.
- Можно использовать общие класс для передачи данных.
Использует ли общий класс быстрее, чем sharedPreferences, особенно если мне нужно часто передавать данные? Я читал что-то вроде: «Как только sharedPreferences загружен в ОЗУ, он находится в ОЗУ до закрытия приложения, поэтому он не такой медленный» Кроме того, используется ли общий класс, достаточно надежный для обработки непредвиденного поведения, такого как внезапное закрытие приложения или получение вызова et c.?