Tôi có một ứng dụng có một số biến tĩnh. Các biến này được lưu trữ trong một Lớp độc lập có tên là DataContext. Các biến này được khởi tạo từ các tệp thô khi khởi động ứng dụng (một phương thức có tên DataContext.initConstant() được gọi trong onCreate() của MyApplication mở rộng Ứng dụng).Android: Biến tĩnh null trên bộ nhớ thấp
(EDIT: phương thức initConstant sử dụng AsyncTask để tải dữ liệu này từ tệp).
Khi ứng dụng của tôi đến nền trong một thời gian nhất định hoặc khi ứng dụng của tôi sử dụng nhiều bộ nhớ, các biến tĩnh này trở thành rỗng.
Làm cách nào để ngăn chặn?
Nếu không phải tôi nên làm gì với các biến tĩnh của mình?
Tôi có dữ liệu khác được lưu trữ trong các biến tĩnh được sử dụng trên các hoạt động khác nhau, nhưng tôi xóa chúng hoặc chuyển chúng sang giá trị rỗng trong số
onLowMemory()
của MyApplication.Cách tốt nhất để giữ cho một số dữ liệu có thể truy cập được giữa các hoạt động nếu các dữ liệu này quá lớn để được đăng trong Intent, không thể sử dụng cơ sở dữ liệu (vì lý do nào) và không thể lưu trữ tập tin thông qua serialization hoặc?
Bạn có thể giải thích tại sao cơ sở dữ liệu hoặc tệp được tuần tự hóa không hoạt động không? – sargas
Tôi có rất nhiều thông tin và thay đổi cách tôi truy cập ngay bây giờ vì tôi thiếu thời gian và chúng tôi chỉ tìm ra vấn đề. – MathieuC
@MathieuC: Hãy chia sẻ giải pháp, tôi cũng phải đối mặt với cùng một vấn đề từ rất lâu. –