Tần suất bạn lưu tùy thuộc vào ứng dụng của bạn. Tuy nhiên, timings chính là:
- Ra mắt
- hoạt
- đã hủy kích hoạt
- Đóng
Launching
được gọi khi ứng dụng được đầu tiên ra mắt từ màn hình chính và Closing
được gọi khi người dùng nhấn phím quay lại để thoát khỏi ứng dụng của bạn. Đương nhiên, bạn rất có thể muốn lưu dữ liệu cố định trong sự kiện Closing
.
Activated
được gọi khi người dùng đã đóng ứng dụng của bạn qua nút Windows
và đã quay lại ứng dụng bằng cách nhấn nút quay lại. Điều này không được gọi nếu người dùng khởi chạy ứng dụng lần đầu tiên.
Tương tự, sự kiện Deactivated
được gọi khi người dùng nhấn nút Windows
. Tùy thuộc vào ứng dụng của bạn, bạn sẽ muốn lưu dữ liệu tạm thời tại thời điểm này để khi được khôi phục, bạn có thể tạo ảo giác rằng ứng dụng của bạn không bị đóng. (Nếu không, ví dụ, tất cả các hộp văn bản sẽ bị trống ngay cả khi người dùng đã nhập dữ liệu trước khi nhấn nút Windows
).
Đó là những sự kiện chính, vì vậy bạn có thể thiết kế ứng dụng của mình xung quanh sự kiện đó. Một điều cần nhớ là nếu các tệp lưu của bạn sẽ lớn và mất nhiều thời gian hơn 10 seconds
để lưu sau khi sự kiện closing
được gọi, ứng dụng của bạn sẽ bị chấm dứt ngay lập tức, có thể làm hỏng tệp lưu. Do đó, để tiết kiệm lớn các tệp, bạn nên lập kế hoạch trước bằng cách tiết kiệm gia tăng (ví dụ: sau khi người dùng đã thực hiện thay đổi nên duy trì vĩnh viễn).
Không có giải pháp one size fits all
cho điều này vì thời gian lưu phụ thuộc nhiều vào loại ứng dụng đang được phát triển. Hãy đọc số Execution Model MSDN Page khi nó đi vào chi tiết hơn và cung cấp các ví dụ mã.
Bạn đã xem/đọc hướng dẫn thombstoning chưa? –