Tôi đang bối rối về Activity.onDestroy()
. Tôi cần giải phóng một số tài nguyên khi Activity của tôi bị phá hủy, nhưng có vẻ như onDestroy() được gọi khi tôi nhấn phím "Back", nhưng không phải khi Activity của tôi bị Dalvik giết. Tôi đã thử nghiệm nó chỉ bằng cách thêm log:Android: Activity.onDestroy() không được gọi khi Dalvik giết hoạt động này
Log.v("my_tag", "onDestroy() called");
và giống nhau ở onCreate() phương pháp quá:
Log.v("my_tag", "onCreate() called");
Sau đó, tôi bắt đầu Hoạt động của tôi, và tôi thấy trong nhật ký: onCreate() called
. Tôi nhấn "Back" chìa khóa và sau đó bắt đầu Hoạt động một lần nữa, sau đó tôi thấy:
onDestroy() called
onCreate() called
Sau đó, tôi bấm "Home" chìa khóa và đi đến Hoạt động của tôi một lần nữa, các bản ghi không thay đổi. Được rồi.
Sau đó, tôi nhấn phím "Home" một lần nữa và bắt đầu một số ứng dụng "nặng" thực sự. Trong nhật ký không có gì về onDestroy(), nhưng khi tôi bắt đầu lại Hoạt động của mình, tôi thấy trong nhật ký: onCreate() called
! Vì vậy, onDestroy() đã không được gọi, nhưng hoạt động của tôi đã bị giết. Chuyện gì vậy?
+1 - cho nghiên cứu của bạn .. –