Hình sau (từ tài liệu chính thức ) mô tả vòng đời nổi tiếng của một hoạt động Android:
Mặt khác, khi hoạt động bị phá hủy bởi hệ thống (ví dụ như do bộ nhớ cần được khôi phục), trạng thái của hoạt động đôi khi được tự động lưu và khôi phục bằng các phương thức onSaveInstanceState()
và onRestoreInstanceState()
như được minh họa trong hình sau (cũng từ tài liệu chính thức ):
Tôi biết rằng onSaveInstanceState()
là không phải lúc nào gọi là khi một hoạt động sắp bị phá hủy. Ví dụ, nếu nó bị phá hủy vì người dùng đã nhấn nút "quay lại", trạng thái hoạt động sẽ không được giữ nguyên. Nhưng trong các trường hợp khi trạng thái được lưu và khôi phục, và onSaveInstanceState()
/ onRestoreInstanceState()
được gọi, chúng được gọi chính xác khi nào?
Ví dụ, theo các số liệu trên, onRestoreInstanceState()
có thể được gọi trước onStart()
, hoặc sau onStart()
nhưng trước onResume()
hoặc sau onResume()
. Tương tự, một số khả năng tồn tại cho onSaveInstanceState()
. Vậy chúng được gọi chính xác là khi nào?
Lý tưởng nhất, những gì tôi muốn là xem một sơ đồ kết hợp hiển thị trạng thái vòng đời hoạt động và các phương pháp lưu / khôi phục , nếu tồn tại.