Tôi có một sự nhầm lẫn về những gì nên đi vào , onStop
và onSaveInstanceState
. Ví dụ, các tài liệu Android nói rằng cho -android - dữ liệu được lưu trữ trong onPause, onStop hoặc onSaveInstanceState
Cam kết thay đổi chưa được lưu, nhưng chỉ khi người dùng mong đợi những thay đổi đó phải được lưu vĩnh viễn khi họ rời khỏi (như dự thảo email).
Đối onStop
-
bạn nên sử dụng onStop() để thực hiện, hơn CPU hoạt động đóng cửa chiều sâu lớn hơn, chẳng hạn như viết thông tin vào một cơ sở dữ liệu.
Đối onSaveInstanceState
hoạt động của bạn có thể có những thông tin trạng thái khác mà bạn muốn khôi phục, chẳng hạn như biến thành viên đó theo dõi sự tiến bộ của người sử dụng trong hoạt động này.
Có đúng là ba điều này về cơ bản trỏ đến lưu trữ thông tin như biểu mẫu hoặc email? Sau đó, phương pháp nào nên được lưu?
'onStop()' đảm bảo được gọi kể từ Honeycomb (3.0), chiếm 96.8% thiết bị Android tính đến tháng 1 năm 2016. Vì vậy, tôi thích sử dụng 'onStop()' trên 'onPause()' để lưu dữ liệu hiện nay. –
@VickyChijwani Từ quan điểm kỹ thuật phần mềm, _preferring_ 'onStop()' trên 'onPause()' không được chấp nhận, trừ khi bạn yêu cầu Android 3.0 rõ ràng trong siêu dữ liệu của ứng dụng (mà bạn không đề cập đến). –
Phải, tôi thực hiện các ứng dụng của mình cho Android 3.0 trở lên, nên đã đề cập đến điều đó.Lý do khác (có thể gây tranh cãi) tôi thích 'onStop()' là vì dòng này trong [onPause() 'docs] (http://developer.android.com/reference/android/app/Activity.html#onPause % 28% 29): "Khi hoạt động B được khởi chạy trước hoạt động A, ... B sẽ không được tạo cho đến khi' onPause() 'của A trả về, vì vậy hãy chắc chắn không làm gì ở đây." Tất nhiên, các tài liệu vòng đời như một toàn thể vẫn còn khá khó hiểu vì vậy đây không phải là kết luận. –