мое приложение вылетает, когда оно возвращается на передний план после некоторого времени, играя с другими приложениями, и я не могу найти, как это исправить.
У моего приложения есть заставка, где оно загружает некоторые данные из веб-сервисов и помещает их в глобальные статические переменные, объявленные в классе, расширяющем Application, как объяснено в в этом вопросе SO . Как только все данные загружены, это действие запускает домашнее действие с некоторым меню для навигации в приложении. Глобальные переменные используются в большинстве видов деятельности.
В какой-то момент, играя с другими приложениями, кажется, что мое приложение убито, потому что я вижу это в logcat:
I/ActivityManager( 2465): Process com.mysite.myapp (pid 23538) has died.
I/WindowManager( 2465): WIN DEATH: Window{4852a678 com.mysite.myapp/com.mysite.myapp.Home paused=false}
I/WindowManager( 2465): WIN DEATH: Window{485b63a8 com.mysite.myapp/com.mysite.myapp.Home paused=false}
I/WindowManager( 2465): WIN DEATH: Window{4826fbf8 com.mysite.myapp/com.mysite.myapp.ItemList paused=false}
I/WindowManager( 2465): WIN DEATH: Window{48286f90 com.mysite.myapp/com.mysite.myapp.ItemDetail paused=false}
W/GpsLocationProvider( 2465): Unneeded remove listener for uid 1000
D/GpsLocationProvider( 2465): stopNavigating
D/gps_BRCM( 2465): [status check] on_stop() : GPS_STATUS_SESSION_END
D/gps_BRCM( 2465): gps_engine_status_update 2
D/GpsLocationProvider( 2465): send an intent to notify that the GPS has been enabled or disabled
D/gps_BRCM( 2465): gps_stop: called
V/GpsLocationProvider( 2465): hybridGpsSensorDeregister : No registered sensorManager
D/GpsLocationProvider( 2465): hybridGpsSensorDeregister
и отладчик отключен.
Теперь, когда я снова открываю свое приложение, запускается последнее действие, если оно не использует глобальные переменные (в этом случае оно вылетает, как только я перехожу к действию, которое выполняет), или немедленно вылетает, если это происходит.
Если мое приложение было убито, что, по-видимому, является причиной того, что даже моя служба определения местоположения остановлена, как видно из logcat, почему она открывает последнее действие вместо того, чтобы снова запускаться с заставки?