ActivityManager.killBackgroundProcesses отличается от "Force stop"

Я экспериментировал с ActivityManager.killBackgroundProcesses в своем приложении и заметил кое-что интересное. Надеюсь, кто-нибудь на stackoverflow сможет пролить свет на это.

Итак, если я запускаю приложение, например, youtube, то сначала я вижу страницу со списком видео, затем я нажимаю menu->Settings, появляется страница настроек. теперь если я нажму кнопку home, то youtube перейдет в фоновый режим. пока все хорошо. Теперь, если я запущу ActivityManager.killBackgroundProcesses, чтобы убить приложение youtube (или я использую Advanced task killer, который, как я полагаю, использует тот же API), и когда я снова запущу youtube, я увижу страницу настроек, а не список видео по умолчанию.

Но если вместо того, чтобы выполнить ActivityManager.killBackgroundProcesses, я перейду в системные настройки->управление приложениями->Youtube->Force stop, и когда я снова запущу youtube, я получу список видео, а не страницу настроек.

Похоже, что ActivityManager.killBackgroundProcesses отличается от принудительной остановки, так как он все еще помнит последнюю задачу/страницу, на которой она была до того, как была переведена в фоновый режим, в то время как принудительная остановка дает вам новый старт.

У кого-нибудь есть хорошее объяснение этому? Возможно ли в моем коде сделать "force stop", чтобы получить новый запуск приложения?

Большое спасибо!

6
задан Safecoder 9 January 2012 в 19:19
поделиться