Trong Android 6.0 Marshmallow, Google đã tích hợp một công nghệ mang tên Doze để giúp kéo dài thời gian dùng pin của smartphone và tablet khi chạy phiên bản OS này. Về cơ bản, Doze sẽ hạn chế hoạt động của các ứng dụng, hạn chế việc truy cập mạng trong những lúc bạn để máy nằm yên một chỗ không xài tới, chẳng hạn như buổi tối đi ngủ hay trong suốt mấy tiếng làm việc ở văn phòng. Trong bài này, xin chia sẻ thêm với các bạn về Doze, cách nó hoạt động cũng như ảnh hưởng của Doze đến chúng ta ra sao.
1. Project Doze là gì?
Doze trong tiếng Anh có nghĩa là một giấc ngủ ngắn, một giấc ngủ nhẹ nhàng mà không có gì hối thúc cả. Và dự án Doze trong Android 6.0 cũng tương tự như thế. Nó là một bộ các quy tắc mà Android 6.0 sẽ thực thi nhằm đưa điện thoại của bạn vào một "giấc ngủ" những khi bạn không xài máy trong thời gian dài. Bằng cách "ngủ" như vậy, Doze sẽ giúp tiết kiệm pin hơn khá nhiều do lúc bạn để máy rỗi thì máy cũng gần như không hoạt động gì cả. Nếu bạn để qua đêm hay để qua bữa ngủ trưa thì máy gần như không hề giảm pin, nếu có cũng không đáng kể.
Mình đã được kiểm chức điều đó trên con HTC One M8 chạy Android 6.0 chính chủ từ Google. Trước đây, lúc để qua đêm thì cũng phải hao đến vài chục % pin, còn giờ thì chỉ là 3~5% mà thôi. Nếu xem xét biểu đồ tiêu thụ pin thì cũng có thể thấy là qua buổi tối thì tốc độ giảm thấp hơn nhiều so với phần còn lại trong ngày. Google có nói là thời gian standby khi xài Doze có thể tăng thêm gấp 2 lần, tuy nhiên mình chưa thật sự thấy điều đó.
2. Project Doze hoạt động ra sao?
1. Project Doze là gì?
Doze trong tiếng Anh có nghĩa là một giấc ngủ ngắn, một giấc ngủ nhẹ nhàng mà không có gì hối thúc cả. Và dự án Doze trong Android 6.0 cũng tương tự như thế. Nó là một bộ các quy tắc mà Android 6.0 sẽ thực thi nhằm đưa điện thoại của bạn vào một "giấc ngủ" những khi bạn không xài máy trong thời gian dài. Bằng cách "ngủ" như vậy, Doze sẽ giúp tiết kiệm pin hơn khá nhiều do lúc bạn để máy rỗi thì máy cũng gần như không hoạt động gì cả. Nếu bạn để qua đêm hay để qua bữa ngủ trưa thì máy gần như không hề giảm pin, nếu có cũng không đáng kể.
Mình đã được kiểm chức điều đó trên con HTC One M8 chạy Android 6.0 chính chủ từ Google. Trước đây, lúc để qua đêm thì cũng phải hao đến vài chục % pin, còn giờ thì chỉ là 3~5% mà thôi. Nếu xem xét biểu đồ tiêu thụ pin thì cũng có thể thấy là qua buổi tối thì tốc độ giảm thấp hơn nhiều so với phần còn lại trong ngày. Google có nói là thời gian standby khi xài Doze có thể tăng thêm gấp 2 lần, tuy nhiên mình chưa thật sự thấy điều đó.
2. Project Doze hoạt động ra sao?
Theo giải thích của Google, khi bạn không cắm sạc một thiết bị và để yên nó trong "một khoảng thời gian" với màn hình tắt, thiết bị sẽ tự động đi vào chế độ Doze. Để xác định việc bạn có "để yên" hay không, Doze dùng đến các cảm biến gia tốc kế và con quay hồi chuyển có trong smartphone, tablet. Khi Doze đã được kích hoạt, hệ thống sẽ cố gắng tiết kiệm pin bằng cách giới thiệu quyền truy cập của app vào mạng và những dịch vụ cần xài nhiều đến CPU. Nó cũng ngăn không cho app vào Internet, tạm dừng việc thực thi các tác vụ, chức năng đồng bộ cũng như thông báo.
Nhưng Doze không phải chạy liên tục mãi cho đến khi bạn cầm máy lên hay bật màn hình. Thỉnh thoảng, Android 6.0 sẽ tự động thoát khỏi Doze trong một khoảng thời gian ngắn để các app có thể tiếp tục thực hiện những việc đang còn dang dở của chúng. Hãng gọi khung thời gian này là "maintenance window", và khi đó app cũng được quyền truy cập mạng.
Ở giai đoạn cuối của mỗi maintenance window, Android sẽ kích hoạt Doze trở lại. Theo thời gian, càng lúc sẽ càng có ít maintenance window diễn ra hơn, và mục đích cũng không có gì khác ngoài chuyện tiết kiệm pin ngay cả khi bạn bỏ không máy trong một thời gian rất dài, chẳng hạn như khi đi du lịch.
Khi bạn cần dùng đến máy, bạn sẽ di chuyển nó, bật màn hình hoặc kết nối máy vào bộ sạc. Android có thể phát hiện được các thao tác này và thoát khỏi chế độ Doze, lúc này mọi thứ trở về bình thường.
3. Bạn phải làm gì để dùng Doze?
Câu trả lời đơn giản: không cần làm gì cả. Doze sẽ tự động được kích hoạt ngay khi bạn vừa nâng cấp lên Android 6.0, hoặc khi bạn mới mua máy về nhà.
Câu hỏi bây giờ đó là liệu Doze có làm gián đoạn cuộc gọi hay tin nhắn của bạn hay không? Theo Google thì không, vì Doze sẽ tự động nhận biết được những app nào đang dùng dữ liệu từ mạng di động và cấp quyền "ưu tiên cao" cho những phần mềm đó. Nói cách khác, ngay cả khi máy của bạn đang ở chế độ Doze thì bạn vẫn có thể nhận SMS hay cuộc gọi bình thường, kể cả khi bạn xài app bên thứ ba chứ không dùng app chính chủ cài sẵn.
Quảng cáo
Có thể bạn lo lắng rằng một số lập trình viên sẽ lợi dụng quyền "ưu tiên cao" cho các app của họ và hạn chế tác dụng của Doze. Nhưng Google đã nghĩ đến chuyện này, hãng khuyến khích các lập trình viên sử dụng nền tảng Google Clound Messaging (GCM) để gửi thông báo từ server về thiết bị di động. GCM được tối ưu cho Doze, và thông qua đây Google cũng kiểm soát được xem có app nào lợi dụng quyền ưu tiên hay không và chặn lại. "Nếu server và client của bạn đã dùng GCM, đảm bảo rằng dịch vụ của bạn dùng quyền ưu tiên cao cho những thông báo quan trọng, bởi nó sẽ giúp đánh thức app một cách an toàn khi thiết bị của người dùng đang ở Doze".
Hiện tại, một điểm có vẻ như là hạn chế của Doze mà mình nhận thấy trên con M8 chạy Android 6.0 của mình đó là vấn đề thông báo bị dồn ứ lại trong quá trình máy "nghỉ ngơi". Khi bạn máy lên, tức là thoát Doze Mode, thì hàng loạt thông báo bắt đầu đổ về và liên tục phát âm báo hoặc rung thiết bị nên khá là khó chịu. Có mấy đêm mình nhận nhiều tin chat Facebook Messenger thì sáng hôm sau mở M8 lên máy còn bị đứng lại trong vài giây vì lượng thông báo đổ về cùng lúc quá lớn. Mình không chắc đây là vấn đề của Doze hay do máy của mình, anh em nào đang xài Android 6.0 thì báo cho mình biết với.
Tham khảo: Google