Chào mừng bạn đến với TiemDienThoai.com
Kiến thức · Bộ nhớ & Lưu trữ

Hiện tượng “RAM residency”: ứng dụng đóng băng trong RAM nhưng không tiêu tốn CPU là gì

Ứng dụng nằm trong danh sách gần đây không đồng nghĩa đang hoạt động, vì cơ chế đóng băng giữ trạng thái mà không cấp CPU, giúp mở lại tức thì.

Mục lục bài viết

Mở danh sách ứng dụng gần đây, người dùng thường thấy hàng loạt ứng dụng vẫn nằm trong RAM dù không hề chạm đến trong nhiều giờ, nhưng pin và hiệu năng máy không hề bị ảnh hưởng. Đó là kết quả của một trạng thái trung gian giữa chạy nền và bị đóng hoàn toàn, gọi là trạng thái đóng băng, khác hẳn với việc ứng dụng đang hoạt động thực sự trong nền.

Trạng thái frozen là gì trong quản lý bộ nhớ hiện đại

Khi một ứng dụng rời khỏi màn hình một thời gian và không còn tác vụ nào cần xử lý ngay, hệ điều hành không nhất thiết phải đóng hẳn tiến trình đó để giải phóng RAM. Thay vào đó, dữ liệu trạng thái của ứng dụng, bao gồm giao diện, biến bộ nhớ và ngữ cảnh đang xử lý, vẫn được giữ nguyên trong RAM, nhưng tiến trình bị ngưng cấp chu kỳ CPU để xử lý. Ứng dụng lúc này tồn tại như một bản chụp tĩnh trong bộ nhớ, không thực thi lệnh, không tiêu tốn năng lực xử lý.

Cơ chế cgroup freezer và các lớp App Standby đứng sau trạng thái này

Về mặt kỹ thuật, nhân Linux mà Android dựa trên cung cấp cơ chế cgroup freezer, cho phép hệ thống tạm dừng toàn bộ luồng của một nhóm tiến trình mà không cần huỷ tiến trình đó. Kết hợp với các lớp quản lý mức độ hoạt động của ứng dụng theo thời gian không tương tác, hệ thống có thể đẩy một ứng dụng vào trạng thái đóng băng sâu dần, giảm dần quyền truy cập mạng, cảm biến và tác vụ nền trước khi cân nhắc đến việc kill hẳn nếu RAM thực sự căng thẳng.

Vì sao giữ ứng dụng ở trạng thái đóng băng tốt hơn đóng hẳn

Lợi ích chính của trạng thái này là tốc độ khôi phục. Khi người dùng quay lại một ứng dụng đang đóng băng, hệ thống chỉ cần cấp lại chu kỳ CPU cho tiến trình sẵn có, ứng dụng tiếp tục đúng ngay tại màn hình và dữ liệu đang dở dang trước đó, gần như không có độ trễ khởi động. Ngược lại, nếu tiến trình đã bị kill hoàn toàn để giải phóng RAM, ứng dụng phải khởi động lại từ đầu, tải lại dữ liệu và mất trạng thái làm việc trước đó, dù vẫn hiển thị giao diện tương tự khi mở lại.

Phân biệt tiến trình đóng băng với tiến trình nền đang hoạt động thực sự

Một tiến trình nền thực sự đang hoạt động, ví dụ ứng dụng đang phát nhạc hoặc đồng bộ dữ liệu, vẫn được cấp CPU liên tục và tiêu tốn năng lượng thực. Trong khi đó tiến trình đóng băng hoàn toàn không có hoạt động xử lý, chỉ chiếm chỗ trong RAM chờ được đánh thức. Hai trạng thái này có thể trông giống nhau khi nhìn vào danh sách ứng dụng gần đây, nhưng tác động đến pin và hiệu năng hoàn toàn khác nhau.

Hiểu nhầm thường gặp

“ứng dụng còn hiện trong RAM tức là đang chạy và ngốn tài nguyên như bình thường” là suy nghĩ không chính xác. Sự hiện diện trong RAM chỉ phản ánh dữ liệu trạng thái đang được lưu giữ, không đồng nghĩa với việc tiến trình đang được cấp CPU hay tiêu tốn điện năng. Việc chủ động dọn sạch những ứng dụng đang đóng băng vì nghĩ rằng chúng đang gây hao pin thường không mang lại lợi ích thực tế, mà chỉ khiến ứng dụng phải khởi động lại từ đầu ở lần mở kế tiếp.

Xem thêm

Nội dung này thuộc cụm bài RAM vs RAM ảo: tổng hợp bài viết. Xem thêm App “giải phóng RAM” (RAM booster) có thực sự giúp máy nhanh hơn hay phản tác dụng.

Hoàng Gia Bảo - kỹ thuật viên trưởng
Tác giả phụ trách chuyên mục

Kỹ thuật viên trưởng — Kỹ thuật viên trưởng tại trung tâm sửa chữa, trực tiếp chẩn đoán và xử lý hàng nghìn ca lỗi điện thoại mỗi năm.

Xem hồ sơ và chuyên môn →
Bình luận bài viết

Để lại bình luận

Thông tin liên hệ chỉ dùng để phản hồi, không hiển thị công khai.