Mục lục bài viết
Bộ nhớ RAM còn trống trên iPhone không được hệ điều hành quản lý theo cách hiển thị “còn nhiều hay còn ít” như trên máy tính, và đây chính là điểm khiến hiện tượng Safari tải lại trang hoặc mất tab đang mở dễ bị hiểu sai nguyên nhân.
Cơ chế quản lý bộ nhớ khiến “RAM còn nhiều” không phản ánh đúng thực tế
iOS không cấp phát RAM theo yêu cầu tĩnh mà quản lý động: bộ nhớ trống được hệ thống chủ động lấp đầy bằng dữ liệu cache của các ứng dụng đang chạy để tăng tốc độ phản hồi, và lượng cache này được giải phóng ngay khi có ứng dụng khác cần bộ nhớ. Vì vậy, các công cụ đo RAM trống trên App Store thường không phản ánh đúng áp lực bộ nhớ thực tế mà hệ thống đang chịu, do phần lớn “RAM còn trống” mà những công cụ này hiển thị chỉ là cache có thể thu hồi bất kỳ lúc nào.
Mỗi tab Safari trên iOS chạy như một tiến trình nội dung riêng, có giới hạn bộ nhớ tối đa cho từng tiến trình, độc lập với tổng RAM trống của toàn hệ thống. Khi một trang web sử dụng nhiều JavaScript, video hoặc hoạt ảnh, tiến trình của tab đó có thể chạm giới hạn riêng và bị hệ thống chấm dứt để giải phóng bộ nhớ, dù các tab khác và ứng dụng khác vẫn còn dư địa hoạt động bình thường.
Vì sao trang tải lại hoặc tab biến mất dù thiết bị có vẻ rảnh
- Tab chuyển sang nền quá lâu bị hệ thống giải phóng tiến trình để nhường tài nguyên cho ứng dụng đang hoạt động ở phía trước; khi quay lại Safari, trang phải tải lại toàn bộ nội dung từ đầu.
- Chế độ Tiết kiệm pin hạn chế hoạt động nền, khiến Safari giải phóng tiến trình các tab không hiển thị sớm hơn bình thường.
- Đồng bộ Tab qua iCloud giữa nhiều thiết bị đôi khi ghi đè trạng thái phiên cục bộ bằng trạng thái từ thiết bị khác, khiến một tab đang mở biến mất khỏi danh sách hiển thị dù chưa từng bị đóng thủ công.
Cách giảm tần suất mất tab
- Hạn chế mở đồng thời quá nhiều tab chứa nội dung nặng như video hoặc trang phát trực tiếp.
- Tắt đồng bộ Tab của Safari qua iCloud nếu không thực sự cần dùng trên nhiều thiết bị, để tránh xung đột trạng thái phiên.
- Với trang cần giữ nguyên nội dung đang nhập lâu dài, dùng chế độ Đầu đọc hoặc lưu lại nội dung thay vì phụ thuộc vào việc tab không bao giờ bị hệ thống thu hồi.
Sự thật khác gì suy nghĩ thông thường
“RAM còn nhiều thì ứng dụng không thể bị hệ thống đóng ngầm” là suy nghĩ phổ biến bắt nguồn từ trải nghiệm dùng máy tính, nơi bộ nhớ trống thực sự tương đương với dư địa hoạt động. Trên iOS, quyết định giải phóng một tiến trình dựa trên áp lực bộ nhớ tức thời và giới hạn riêng của từng tiến trình, không dựa trên tổng RAM trống mà người dùng ước tính qua ứng dụng bên thứ ba.
Xem thêm
Nội dung này thuộc cụm bài Lỗi phần mềm iOS thường gặp: tổng hợp bài viết. Xem thêm Ứng dụng trên iPhone tự thoát (crash) liên tục.
