Я изучаю Android и AFAIK, стандартный механизм Android для передачи данных между Activity - это использование Intents, которые, в свою очередь, реализованы как IPC на более низком уровне (возможно, я ошибаюсь).Является ли механизм библиотеки шины событий столь же плохим, как использование статических переменных для передачи данных между действиями?
Кажется, что в последнее время появилось множество библиотек, которые облегчают жизнь разработчикам Android. Между ними знаменитый Event Bus («Гринробот», «Отто»). Я пытался использовать оба (почти точную семантику интерфейса) и видел некоторые сообщения о том, как использовать шину событий Greenrobot для отправки событий в активность с использованием .postSticky, которая позволяет потреблять или вытягивать событие в новом действии, когда это готовый к приему этих данных.
Но из-за моего понимания с тех пор основная цель использования намерений (и, следовательно, утомительная работа по использованию сериализуемых/устранимых объектов при работе со сложными объектами) заключается в том, чтобы позволить Android воссоздать эти данные после того, как система убивает приложение из-за ограничений ресурсов, обычно, когда вы переключаетесь на другое приложение и начинаете играть. Поэтому, когда в этой ситуации, когда вы переключаетесь обратно на приложение yor, вы получаете NULL-указатель по данным, которые были переданы с использованием шины событий.
Есть ли у меня что-то? Или просто этот подход (шина событий для передачи данных в действия), даже очень чистая по коду, совершенно неверна?
+ за то, что я мог проверить, посмотрите, что это разумный подход для передачи результата в действие вместо использования startActivityForResult. –