Я прочитал много статей о том, насколько плохи глобальные переменные в классе приложения или в синглтонах. Самая большая проблема для меня заключалась в том, что это вызывает исключение NullPointerException, когда приложение убивает система, а пользователь перезапускает его. Приложение перезапускается с Activity, в которой пользователь был раньше, а не с первой Activity приложения. Глобальные переменные не остаются в памяти навсегда, поэтому запуск последнего Activity вызывает NPE (если вы не проверяете значение null вручную).
Однако во всех этих примерах используются приложения с несколькими действиями. Эта проблема все еще существует с приложениями с одним действием?
Я попытался реплицировать исключение NullPointerException в своем приложении, но на всех моих устройствах приложение перезапускается с первым фрагментом, и поэтому приложение не работает с sh.