Mục lục bài viết
Trong mục pin của Android, mỗi ứng dụng mang một trong ba nhãn: Không giới hạn, Được tối ưu hoá, hoặc Bị hạn chế. Đa số người dùng bỏ qua ba lựa chọn này vì tưởng chỉ ảnh hưởng pin, nhưng đây thực chất là công tắc quyết định trực tiếp một ứng dụng có được cấp CPU và mạng khi chạy nền hay không, ảnh hưởng cả tốc độ nhận thông báo lẫn độ mượt của toàn hệ thống.
Ba mức quyền khác nhau ở đâu
Ứng dụng Không giới hạn được miễn hoàn toàn giới hạn App Standby Buckets và Doze, có thể đánh thức CPU, đồng bộ dữ liệu, giữ kết nối mạng bất kỳ lúc nào kể cả khi máy đang nghỉ. Được tối ưu hoá là mặc định cho phần lớn ứng dụng: hệ thống áp giới hạn tần suất đánh thức theo mức độ sử dụng thực tế, ứng dụng ít mở bị đẩy dần vào nhóm tần suất chạy nền thấp hơn. Bị hạn chế cắt gần như toàn bộ hoạt động nền, chỉ chạy khi người dùng trực tiếp mở ứng dụng.
Vì sao quá nhiều app Không giới hạn làm máy ì hơn
Từ Android 9, hệ thống còn phân loại ứng dụng vào năm nhóm ưu tiên (App Standby Buckets) dựa trên hành vi sử dụng, tự động bằng thuật toán học từ thói quen. Song song đó, nhãn Không giới hạn không tự ý giữ wake lock cho ứng dụng, nhưng gỡ bỏ hoàn toàn giới hạn của hệ thống lên việc ứng dụng tự xin giữ wake lock hay chạy service nền — ứng dụng nào vốn có thói quen giữ kết nối liên tục (như một số app giao hàng, mạng xã hội chạy nền) sẽ làm đúng điều đó mà không bị Doze can thiệp. Càng nhiều ứng dụng thuộc dạng này cùng lúc, CPU càng phải dao động qua lại giữa trạng thái nghỉ và hoạt động thường xuyên hơn, tốn thêm năng lượng cho việc chuyển trạng thái ngoài năng lượng xử lý tác vụ thực tế. Hệ quả không chỉ hao pin mà còn khiến tác vụ nền tranh giành CPU với ứng dụng đang mở trên màn hình, tạo cảm giác giật khi cuộn hoặc chuyển ứng dụng.
Cách xác định ứng dụng nào thực sự cần Không giới hạn
Tiêu chí đúng không phải “ứng dụng quan trọng” theo cảm tính mà là ứng dụng phụ thuộc dữ liệu thời gian thực: gọi VoIP, theo dõi vị trí giao hàng đang hoạt động, nhận âm thanh cuộc gọi đến ngay lập tức. Ứng dụng đọc tin tức, mạng xã hội, mua sắm vẫn hoạt động tốt ở chế độ Được tối ưu hoá vì thông báo đẩy qua Firebase Cloud Messaging hoạt động độc lập với App Standby Buckets, không bị trì hoãn như tác vụ đồng bộ chủ động.
Khác biệt với auto-start manager riêng của hãng
Nhiều máy Android theo giao diện tuỳ biến sâu như One UI hay HyperOS có thêm lớp quản lý riêng cho phép ứng dụng tự khởi động lại sau khi bị đóng hoàn toàn, tách biệt với ba mức quyền gốc của Android. Hai lớp quyền này chồng lên nhau: một ứng dụng có thể được cấp Không giới hạn ở cài đặt hệ thống nhưng vẫn bị chặn tự khởi động ở lớp quản lý riêng của hãng, khiến ứng dụng đó vẫn bỏ lỡ thông báo dù người dùng tưởng đã cấp quyền đầy đủ.
Hiểu nhầm thường gặp
“Đặt app quan trọng ở chế độ Không giới hạn thì máy sẽ mượt hơn.” Ngược lại, càng nhiều ứng dụng ở chế độ này càng khiến CPU khó vào trạng thái nghỉ sâu, tranh giành tài nguyên với ứng dụng đang sử dụng trực tiếp và làm giảm độ mượt tổng thể chứ không riêng gì pin.
Xem thêm
Đây là một bài trong nhóm chủ đề Tối ưu hiệu năng phần mềm: tổng hợp bài viết. Xem thêm Ứng dụng chạy nền chiếm RAM/CPU: app nào nên tắt, app nào không nên đụng. Tham khảo thêm tại trang hỗ trợ Android chính thức của Google để có thông tin cập nhật chính thức về chủ đề này.
