Chúng tôi đang thiết kế một ứng dụng Android có một số hoạt động đang hoạt động trong thuật sĩ như cách - người dùng phải chuyển từ hoạt động # 1 sang hoạt động # 5 để đến hoạt động cuối cùng (# 6).Các phương pháp hay nhất trên Android để giữ dữ liệu giữa các hoạt động tử vong/khởi động lại cho toàn bộ phiên ứng dụng là gì?
Vì chúng tôi biết một hoạt động có thể đột nhiên bị hệ điều hành chấm dứt do bộ nhớ thấp, chúng tôi sử dụng lớp Ứng dụng làm bộ nhớ tĩnh để giữ dữ liệu người dùng nhập vào các hoạt động "wizard" và dữ liệu khác mà ứng dụng của chúng tôi cần cho toàn bộ phiên.
Thật không may, chúng tôi đã phát hiện ra cách tiếp cận này không thành công - có vẻ như phiên bản Ứng dụng cũng có thể bị hệ điều hành giết (điều này được phát hiện cụ thể trên Android 1.6 so với 1.5). Mong đợi của chúng tôi có sai về cách tiếp cận này không (chúng tôi nghĩ rằng cá thể lớp Ứng dụng luôn luôn tồn tại trong toàn bộ phiên ứng dụng)?
Vì vậy, câu hỏi là - thực tiễn tốt nhất trên Android để giữ dữ liệu giữa các hoạt động chết/khởi động lại cho toàn bộ phiên ứng dụng là gì?
Tôi thực sự thích câu trả lời này. Nó có thể được sạch hơn để thực hiện điều này như là một hoạt động, tuy nhiên bạn phải xem xét các tình huống như nút Back mà sẽ không đưa bạn đến "màn hình" trước đó theo mặc định. Chỉ cần giả định quy trình của bạn (và do đó các đối tượng khung bên trong nó như Ứng dụng) có thể bị giết bất cứ lúc nào. Sử dụng Dịch vụ có thể hữu ích, nhưng điều đó có thể chỉ đơn giản là trì hoãn việc không thể tránh khỏi. Câu hỏi thường gặp này có thể hữu ích: http://developer.android.com/guide/appendix/faq/framework.html#3 – James