OnDestroy nebude vždy voláno. Z dokumentů životního cyklu --
Když vaše aktivita přijme volání metody onStop(), přestane být viditelná a měla by uvolnit téměř všechny prostředky, které nejsou potřeba, když ji uživatel nepoužívá. Jakmile je vaše aktivita zastavena, může systém zničit instanci, pokud potřebuje obnovit systémovou paměť. V extrémních případech může systém jednoduše zabít váš proces aplikace, aniž by zavolal konečné zpětné volání onDestroy() aktivity, takže je důležité, abyste použili onStop() k uvolnění zdrojů, které by mohly prosakovat paměť.
Ačkoli je metoda onPause() volána před onStop(), měli byste použít onStop() k provádění větších operací vypínání náročnějších na CPU, jako je zápis informací do databáze
viz Zastavení činnosti