OnDestroy tidak selalu akan dipanggil. Dari dokumen siklus hidup --
Saat aktivitas Anda menerima panggilan ke metode onStop(), itu tidak lagi terlihat dan harus melepaskan hampir semua sumber daya yang tidak dibutuhkan saat pengguna tidak menggunakannya. Setelah aktivitas Anda dihentikan, sistem mungkin menghancurkan instance jika perlu memulihkan memori sistem. Dalam kasus ekstrem, sistem mungkin hanya mematikan proses aplikasi Anda tanpa memanggil callback onDestroy() terakhir aktivitas, jadi Anda harus menggunakan onStop() untuk melepaskan sumber daya yang mungkin membocorkan memori.
Meskipun metode onPause() dipanggil sebelum onStop(), Anda harus menggunakan onStop() untuk melakukan operasi shutdown CPU yang lebih besar dan intensif, seperti menulis informasi ke database
lihat Menghentikan Aktivitas Anda