Tôi đang sử dụng GCD để nhận thông báo về áp lực bộ nhớ.Cách trả lời thông báo áp lực bộ nhớ từ GCD?
GCD documentation mô tả một số hằng số như sau:
DISPATCH_MEMORYPRESSURE_WARN
Điều kiện áp lực bộ nhớ hệ thống là ở giai đoạn cảnh báo. Ứng dụng sẽ giải phóng bộ nhớ mà chúng không cần ngay bây giờ.
DISPATCH_MEMORYPRESSURE_CRITICAL
Điều kiện áp lực bộ nhớ hệ thống ở giai đoạn quan trọng. Ứng dụng sẽ giải phóng bộ nhớ càng nhiều càng tốt.
Có vẻ hợp lý là tôi nên giải phóng bộ nhớ không sử dụng. Tuy nhiên, ở những nơi khác (man pages và source code) tôi thấy ghi chú này không liên quan đến các hằng số:
áp lực bộ nhớ Elevated là một điều kiện toàn hệ thống các ứng dụng đăng ký nguồn này nên phản ứng với bằng cách thay đổi bộ nhớ tương lai của họ hành vi sử dụng, ví dụ bằng cách giảm kích thước bộ nhớ cache của các hoạt động mới được thực hiện cho đến khi áp lực bộ nhớ trở lại bình thường.
Tuy nhiên, các ứng dụng không nên đi qua và loại bỏ cache hiện cho các hoạt động trong quá khứ khi hệ thống hệ thống áp lực bộ nhớ tem vào một trạng thái cao, vì đó là khả năng kích hoạt các hoạt động VM rằng sẽ tiếp tục thêm ther nặng thêm áp lực bộ nhớ hệ thống.
Điều này làm tôi bối rối. Vì vậy, tôi nên giải phóng bộ nhớ, hay tôi nên ngừng cấp phát bộ nhớ mới?