Tài liệu này mô tả các phương pháp hay nhất để bạn có thể tối ưu hoá mức tiêu thụ điện năng trong một ứng dụng chỉ đường trên thiết bị di động mà bạn xây dựng bằng Navigation SDK. Đồng thời, tài liệu này cũng mô tả những điểm cần cân nhắc khi áp dụng các phương pháp này. Cụ thể, tài liệu này đề cập đến những nội dung sau:
- Nguồn tiêu thụ điện năng cao, được xếp hạng từ cao nhất đến thấp nhất.
- Chiến lược tối ưu hoá mức tiêu thụ điện năng, theo thứ tự quan trọng, bắt đầu từ tốc độ khung hình.
- Chiến lược dành cho người dùng cuối để hướng dẫn người dùng ứng dụng cách quản lý việc sử dụng thiết bị khi chỉ đường.
Tại sao bạn nên tối ưu hoá ứng dụng chỉ đường?
Tuỳ vào tình huống, người dùng ứng dụng của bạn có thể chạy hướng dẫn chỉ đường trong thời gian dài. Ví dụ: tài xế và nhân viên giao hàng có thể làm việc nhiều giờ, hoàn thành nhiệm vụ ở những khu vực không quen thuộc. Trong những trường hợp này, họ phụ thuộc rất nhiều vào hướng dẫn theo từng chặng trong ứng dụng. Điều này dẫn đến một số vấn đề thường gặp:
- Tiêu hao pin và không có bộ sạc. Việc sử dụng tính năng chỉ đường nhiều có thể khiến pin thiết bị tiêu hao nhanh hơn dự kiến. Mặc dù nhiều người dùng có thể giải quyết vấn đề này bằng cách sạc thiết bị trong xe, nhưng tài xế xe hai bánh thì không thể.
- Thiết bị bị điều tiết do quá nóng. Ngay cả những người dùng liên tục sạc thiết bị cũng có thể gặp vấn đề. Mức tiêu thụ điện năng cao trong thời gian dài có thể khiến thiết bị nóng lên, dẫn đến tình trạng điều tiết nhiệt và sau đó là giảm hiệu suất.
Các ứng dụng chỉ đường theo từng chặng dựa vào các tính năng tiêu thụ nhiều điện năng như màn hình, GPS và giao tiếp vô tuyến với các trạm phát sóng di động. Vì vậy, bạn nên tối ưu hoá mức sử dụng điện năng của ứng dụng di động. Ngoài ra, bạn nên cân nhắc nhu cầu sử dụng điện năng của đối tượng mục tiêu để có thể đưa ra những điểm cân bằng phù hợp giữa hiệu suất và tối ưu hoá mức tiêu thụ điện năng.
Tính năng nào tiêu thụ nhiều điện năng nhất?
Phần này chia các hoạt động trong ứng dụng liên quan đến mức tiêu thụ điện năng cao thành hai danh mục:
- Kết xuất màn hình
- Thông tin cập nhật về vị trí
Kết xuất màn hình
Việc kết xuất màn hình thường gây ra mức tiêu thụ điện năng cao nhất trong các ứng dụng chỉ đường trên thiết bị di động. Mỗi khi thiết bị vẽ bản đồ và các thành phần khác trên giao diện người dùng trên màn hình, thiết bị sẽ dựa vào quá trình xử lý của GPU và CPU. Tương tự, khi người dùng để màn hình đó bật trong thời gian dài, thiết bị cũng sẽ tiêu thụ nhiều điện năng hơn.
Ở một mức độ nào đó, bạn có thể dự đoán mức tiêu thụ điện năng cao từ những tài xế hoặc người lái xe dựa vào bản đồ hiển thị để chỉ đường, đặc biệt là nếu họ sử dụng ứng dụng liên tục trong nhiều giờ. Trong trường hợp này, ứng dụng cũng thực hiện kết xuất với tốc độ cao hơn trên màn hình vì bản đồ sẽ cập nhật theo thời gian thực. Trong một số trường hợp, màn hình có thể vẽ lại gần như liên tục, đặc biệt là khi người dùng lái xe từ vị trí này sang vị trí khác mà không dừng lại.
Thông tin cập nhật về vị trí
Ngoài việc kết xuất màn hình, hai hoạt động chỉ đường khác cũng tiêu thụ điện năng của thiết bị:
- Sử dụng GPS và trạm phát sóng di động
- Cập nhật và chia sẻ vị trí, chẳng hạn như để cung cấp thời gian đến dự kiến (ETA) hoặc báo cáo vị trí của một chiếc xe trong đội xe.
Cả GPS và giao tiếp radio di động đều dựa vào các hoạt động khởi động tiêu thụ nhiều điện năng: GPS phải tìm vệ tinh và radio di động phải thương lượng với các trạm phát sóng và thiết lập kết nối. Vì những lý do này, về cơ bản, chúng sẽ chạy liên tục trong quá trình chỉ đường, mặc dù vô tuyến di động vẫn hoạt động trong 20 đến 30 giây để cố gắng giảm thiểu chi phí khởi động. Hệ điều hành kiểm soát các chế độ cài đặt này mà bạn không thể dễ dàng định cấu hình trong ứng dụng của mình.
Đối với thông tin cập nhật về vị trí, mức sử dụng điện năng sẽ thay đổi dựa trên các yếu tố không thể dự đoán. Ví dụ: khoảng cách giữa thiết bị và trạm gốc di động sẽ xác định mức sử dụng điện năng, vì thiết bị sẽ sử dụng tín hiệu tối thiểu cần thiết để tiếp tục chỉ đường nhằm tránh chuyển đổi trạm phát sóng. Do đó, một thiết bị chỉ đường ở khu vực có kết nối kém sẽ tiêu thụ nhiều điện năng hơn một thiết bị ở gần trạm gốc. Ngoài ra, một số ứng dụng có thể chia sẻ thông tin cập nhật về vị trí với dịch vụ quản lý đội xe trung tâm. Do đó, các ứng dụng này sẽ cần giao tiếp với một máy chủ để thực hiện việc này.
Tối ưu hoá mức sử dụng điện năng của ứng dụng
Thử thách khi tối ưu hoá mức sử dụng điện năng trong các ứng dụng chỉ đường là những ứng dụng này phụ thuộc rất nhiều vào các tài nguyên tiêu thụ nhiều điện năng. Điều này hạn chế các lựa chọn của bạn để giảm thiểu tác động mà không cần phải đánh đổi, chẳng hạn như hạn chế sử dụng màn hình. Phần này cung cấp danh sách các phương pháp bạn có thể áp dụng khi tối ưu hoá ứng dụng, theo thứ tự từ có tác động nhiều nhất đến ít nhất.
Thay đổi tốc độ khung hình
Màn hình cập nhật nội dung hiển thị với tần suất được gọi là tốc độ khung hình. Tốc độ khung hình thường được đo bằng Khung hình/giây (FPS). Vì việc kết xuất màn hình sử dụng nhiều CPU hoặc GPU, nên bạn có thể giảm tốc độ khung hình để tiết kiệm điện năng tiêu thụ.
Điểm đánh đổi khi giảm tốc độ khung hình là việc kết xuất màn hình có thể kém mượt mà hơn, đặc biệt là nếu bản đồ cập nhật thường xuyên. Điều này có thể rõ ràng nhất khi bản đồ được phóng to, khi người dùng di chuyển với tốc độ cao hoặc khi thay đổi tốc độ hoặc hướng đi với mức lớn.
Trên các thiết bị iOS, SDK Bản đồ dành cho iOS sẽ hiển thị thuộc tính preferredFrameRate để kiểm soát tốc độ khung hình. Bảng bên dưới cho thấy các giá trị bộ liệt kêGMSFrameRate mà bạn có thể điều chỉnh:
|
Sử dụng tốc độ khung hình tối thiểu để tiết kiệm pin. |
|
Sử dụng tốc độ khung hình trung bình để kết xuất mượt mà hơn và tiết kiệm chu kỳ xử lý. |
|
Sử dụng tốc độ khung hình tối đa cho một thiết bị. Đối với các thiết bị cấp thấp, tốc độ này là 30 FPS. Đối với các thiết bị cấp cao, tốc độ này là 60 FPS. |
Để tham khảo, hãy xem GMSFrameRate trong tài liệu về SDK chỉ đường của Google dành cho iOS.
Chỉ đường mà không cần bản đồ
Mặc dù bạn không thể kiểm soát cách người dùng cuối đặt độ sáng màn hình thiết bị hoặc thời gian họ bật màn hình, nhưng bạn có thể cung cấp một lựa chọn hướng dẫn chỉ đường mà không cần bản đồ. Điều này sẽ cho phép người dùng cuối chọn lựa chọn đó để tiết kiệm điện năng. Ví dụ: nếu thường xuyên làm việc trong cùng một khu vực lân cận, thì tài xế có thể không cần hướng dẫn dựa trên bản đồ thường xuyên. Bạn có thể bật tính năng chỉ đường mà không cần bản đồ bằng cách đặt điểm đến và bắt đầu hướng dẫn trong Navigation SDK nhưng không hiển thị bản đồ.
Thêm một dòng mã để ẩn GMSMapView:
mapView.isHidden = true
Navigation SDK sẽ tiếp tục cập nhật các vị trí được gắn vào đường đi, thời gian đến dự kiến và khoảng cách còn lại của hành trình. Ứng dụng của bạn vẫn có thể đăng ký tất cả các sự kiện do SDK tạo ra khi tài xế tiếp tục. Phương pháp này không phù hợp với mọi trường hợp sử dụng và tất nhiên không phải là lời khuyên hay trong những trường hợp tài xế cần xem bản đồ và làm theo hướng dẫn trực quan. Ảnh chụp màn hình sau đây minh hoạ so sánh song song việc bật/tắt chế độ xem bản đồ trong quá trình chỉ đường.
|
|
Sử dụng kiểu bản đồ tối
Hãy cân nhắc việc tạo kiểu cho bản đồ để sử dụng giao diện tối nhằm giảm lượng điện năng cần thiết để kết xuất bản đồ trên màn hình.
Navigation SDK kết xuất bản đồ bằng SDK Bản đồ dành cho iOS, SDK này chứa các lựa chọn để tạo kiểu cho mọi chế độ xem bản đồ không phải là chế độ xem chỉ đường trong ứng dụng của bạn. Chế độ xem chỉ đường cũng hỗ trợ buộc sử dụng chế độ tối. Điều này có thể không ảnh hưởng đến mọi thiết bị theo cùng một cách do sự khác biệt về loại màn hình, nhưng có thể giúp tiết kiệm điện năng trong một số trường hợp. Một nghiên cứu gần đây cho thấy lượng điện năng tiết kiệm được nhờ chế độ tối trên một số màn hình phụ thuộc vào độ sáng ban đầu của màn hình. Ví dụ: chế độ tối tiết kiệm nhiều điện năng hơn trên các màn hình được đặt ở độ sáng tối đa so với các màn hình có độ sáng đã được điều chỉnh ở mức 30 – 50% so với mức tối đa. Bạn cần cân nhắc điều này khi sử dụng chế độ tối cho ứng dụng của mình, vì mức tiết kiệm điện năng sẽ tương ứng với cách người dùng cuối đặt độ sáng màn hình.
Để tìm hiểu thêm về cách sửa đổi Giao diện người dùng Điều hướng, hãy xem bài viết Sửa đổi giao diện người dùng Điều hướng.
Việc tạo kiểu bản đồ dựa trên đám mây yêu cầu một mã bản đồ đại diện cho cấu hình bản đồ phía máy chủ đã được tạo trong dự án Google Console của bạn. Để biết thêm thông tin về cách tạo mã bản đồ, hãy xem tài liệu dành cho nhà phát triển về mã bản đồ. Để biết thêm thông tin chi tiết về cách thiết kế và triển khai kiểu bản đồ dựa trên đám mây , hãy xem tài liệu dành cho nhà phát triển về cách tạo và quản lý kiểu bản đồ dựa trên đám mây.
Thay đổi tần suất cập nhật vị trí GPS
Khi cân nhắc mức sử dụng điện năng từ thông tin cập nhật về vị trí được gửi từ thiết bị, hãy tập trung nhiều hơn vào tần suất cập nhật vị trí thay vì lượng dữ liệu được gửi trong quá trình truyền.
Bạn không thể trực tiếp kiểm soát điều này trong Navigation SDK . Bạn cũng nên áp dụng lời khuyên tương tự khi sử dụng các nguồn vị trí không phải GPS (Mạng di động và Wi-Fi).
Hướng dẫn người dùng
Người dùng ứng dụng của bạn có thể muốn biết cách tối ưu hoá mức tiêu thụ điện năng. Để giúp họ giảm mức tiêu thụ điện năng trên ứng dụng, hãy khuyên người dùng làm như sau:
- Khoá điện thoại
- Đặt ứng dụng chỉ đường ở chế độ nền
- Sử dụng tính năng chỉ đường mà không cần bản đồ nếu có thể
- Giảm độ sáng màn hình, bằng cách sử dụng chế độ tối cho màn hình OLED và AMOLED hoặc bằng cách bật tính năng độ sáng thích ứng
- Giữ cho thiết bị mát
- Kết nối với Wi-Fi trong xe nếu có
Đo mức tiêu thụ điện năng
Bạn có thể sử dụng các công cụ chuyên nghiệp để đo mức tiêu thụ điện năng, nhưng thường khó hoặc tốn kém để có được các công cụ này. Các ứng dụng và công cụ lập hồ sơ IDE như Trình phân tích năng lượng trong Android Studio và ngăn Mức sử dụng pin trong XCode Organizer đo mức tiêu thụ điện năng, nhưng có thể khó loại bỏ ảnh hưởng của các quy trình ở chế độ nền hoặc đặt đường cơ sở hiệu suất để đo lường. Trong một số trường hợp, các quy định hạn chế đối với thiết bị có thể ngăn bạn truy cập vào dữ liệu cần thiết.
Bạn có thể sử dụng phần cứng giám sát điện năng chuyên dụng và sửa đổi cấu hình kết nối pin. Ngoài ra, còn có các sản phẩm và dịch vụ thương mại giúp bạn thực hiện việc này. Xin lưu ý rằng việc sửa đổi thiết bị theo cách này có thể làm mất hiệu lực bảo hành của thiết bị.