Mục lục bài viết
Một chiếc iPhone chỉ trang bị 6GB hay 8GB RAM thường giữ được cảm giác mượt mà lâu hơn nhiều máy Android có tới 12GB hay 16GB. Con số dung lượng không phản ánh trực tiếp trải nghiệm, bởi cách iOS và Android quản lý bộ nhớ đi theo hai triết lý khác hẳn nhau, từ vòng đời ứng dụng cho tới cơ chế thu hồi RAM.
iOS quản lý vòng đời ứng dụng chặt hơn
Trên iOS, một ứng dụng khi rời khỏi tiền cảnh không được tự do chạy nền vô thời hạn. Hệ thống đóng băng tiến trình gần như ngay lập tức, chỉ giữ lại trạng thái trong RAM để mở lại nhanh. Ứng dụng muốn làm việc nền phải xin quyền qua các API giới hạn thời gian như background fetch hay background task. Nhờ đó lượng RAM bị các tiến trình ẩn chiếm dụng luôn ở mức thấp, dành chỗ cho ứng dụng đang dùng.
Android cho ứng dụng nền nhiều tự do hơn
Android truyền thống cho phép service chạy nền lâu dài, đồng bộ dữ liệu, nhận đẩy thông báo và giữ tiến trình sống. Điều này tiện cho đa nhiệm nhưng khiến RAM dễ bị lấp đầy bởi tiến trình không hiển thị. Google đã siết dần qua Doze, App Standby và giới hạn background service, nhưng hệ sinh thái đa dạng khiến mức độ tuân thủ giữa các hãng và ứng dụng không đồng đều.
Ngôn ngữ lập trình và cơ chế thu hồi bộ nhớ
Ứng dụng iOS viết chủ yếu bằng Swift và Objective-C, dùng cơ chế đếm tham chiếu (ARC) để giải phóng bộ nhớ ngay khi đối tượng không còn được dùng. Android chạy trên máy ảo với bộ thu gom rác (garbage collector) hoạt động theo chu kỳ, cần vùng đệm dư để gom rác hiệu quả. Theo lý thuyết thông dụng, mô hình gom rác đòi hỏi nhiều RAM hơn để đạt hiệu năng tương đương, đó là một lý do máy Android được trang bị dung lượng lớn hơn.
Tối ưu phần cứng và phần mềm đồng bộ
Apple kiểm soát cả chip, hệ điều hành và một phần lớn ứng dụng qua bộ quy tắc App Store. Số dòng máy ít, nên iOS được tinh chỉnh cho từng cấu hình cụ thể. Android phải chạy trên hàng nghìn cấu hình khác nhau, buộc phải tổng quát hoá, và mỗi hãng lại chồng thêm lớp giao diện riêng tiêu tốn tài nguyên. Sự đồng bộ chặt của iOS giúp cùng một lượng RAM phục vụ được nhiều tác vụ hơn.
Vì sao RAM lớn vẫn có giá trị trên Android
RAM nhiều không vô nghĩa. Với cách quản lý thoáng hơn, máy Android cần dung lượng lớn để giữ được nhiều ứng dụng trong bộ nhớ, hạn chế tình trạng phải tải lại từ đầu. Người dùng mở hàng chục ứng dụng, chơi game nặng hay chạy đa nhiệm chia màn hình sẽ thấy rõ lợi ích. Vấn đề chỉ nằm ở chỗ không nên so sánh trực tiếp con số RAM giữa hai nền tảng như thể chúng tương đương.
Hiểu nhầm thường gặp
“iPhone mượt hơn nên RAM Android là thừa thãi vô ích.” Không chính xác. RAM lớn trên Android bù đắp cho mô hình quản lý bộ nhớ khác và giúp giữ ứng dụng nền sống lâu hơn. Nếu iOS áp dụng cách chạy nền tự do như Android, 6GB sẽ nhanh chóng chật. Hai con số phục vụ hai triết lý khác nhau, không thể quy đổi một-một để kết luận bên nào lãng phí.
Xem thêm
Bài viết này nằm trong nhóm chủ đề RAM vs RAM ảo: tổng hợp bài viết. Xem thêm Vì sao ứng dụng chạy nền tự động bị đóng dù còn nhiều RAM trống. Thông tin kỹ thuật chi tiết hơn được công bố tại trang hỗ trợ chính thức của Apple.
