เอกสารนี้อธิบายแนวทางปฏิบัติแนะนำเกี่ยวกับวิธีเพิ่มประสิทธิภาพการใช้พลังงานในแอปการนำทางบนอุปกรณ์เคลื่อนที่ที่คุณสร้างโดยใช้ Navigation SDK ในขณะเดียวกัน เอกสารนี้ยังอธิบายถึงข้อดีข้อเสียที่ควรพิจารณาเมื่อใช้แนวทางปฏิบัติเหล่านี้ โดยเฉพาะอย่างยิ่ง เอกสารนี้จะครอบคลุมหัวข้อต่อไปนี้
- แหล่งที่มาของการใช้พลังงานสูง โดยจัดอันดับจากสูงไปต่ำ
- กลยุทธ์ในการเพิ่มประสิทธิภาพการใช้พลังงานตามลำดับความสำคัญ โดยเริ่มจากอัตราเฟรม
- กลยุทธ์สำหรับผู้ใช้ปลายทางเพื่อแจ้งให้ผู้ใช้แอปทราบวิธีจัดการการใช้งานอุปกรณ์ขณะไปยังส่วนต่างๆ
เหตุผลที่ควรเพิ่มประสิทธิภาพแอปการนำทาง
ผู้ใช้แอปอาจใช้คำแนะนำการนำทางเป็นเวลานาน ทั้งนี้ขึ้นอยู่กับสถานการณ์ เช่น คนขับรถและผู้ให้บริการจัดส่งอาจต้องทำงานเป็นเวลานาน ทำงานในสถานที่ที่ไม่คุ้นเคย ในกรณีเหล่านี้ ผู้ใช้จะพึ่งพาคำแนะนำแบบเลี้ยวต่อเลี้ยวในแอปอย่างมาก ซึ่งส่งผลให้เกิดปัญหาทั่วไปบางประการ ดังนี้
- ระดับแบตเตอรี่และความพร้อมใช้งานของที่ชาร์จ การใช้การนําทางอย่างหนักอาจทําให้แบตเตอรี่ของอุปกรณ์หมดเร็วกว่าที่คาดไว้ แม้ว่าผู้ใช้จำนวนมากจะแก้ปัญหานี้ได้โดยชาร์จอุปกรณ์ในยานพาหนะ แต่ผู้ขับขี่ยานพาหนะ 2 ล้อจะทำไม่ได้
- การจำกัดอุปกรณ์เนื่องจากความร้อน แม้แต่ผู้ใช้ที่ชาร์จอุปกรณ์อย่างต่อเนื่องก็อาจพบปัญหาได้ การใช้พลังงานสูงเป็นเวลานานอาจทำให้อุปกรณ์ร้อนขึ้น ซึ่งส่งผลให้กลไกควบคุมความร้อนทำงานและประสิทธิภาพลดลง
แอปการนำทางแบบเลี้ยวต่อเลี้ยวต้องใช้ฟีเจอร์ที่กินพลังงานมาก เช่น หน้าจอ, GPS และการสื่อสารทางวิทยุกับเสาสัญญาณมือถือ ดังนั้นแนวทางปฏิบัติแนะนำคือการเพิ่มประสิทธิภาพการใช้พลังงานของแอปบนอุปกรณ์เคลื่อนที่ นอกจากนี้ คุณควรพิจารณาถึงความต้องการด้านการใช้พลังงานของกลุ่มเป้าหมายเพื่อให้สามารถหาจุดสมดุลที่เหมาะสมระหว่างประสิทธิภาพกับการเพิ่มประสิทธิภาพการประหยัดพลังงาน
อุปกรณ์ใดใช้พลังงานมากที่สุด
ส่วนนี้จะแบ่งกิจกรรมในแอปที่เชื่อมโยงกับการสิ้นเปลืองพลังงานสูงออกเป็น 2 หมวดหมู่ ดังนี้
- การแสดงผลของหน้าจอ
- การอัปเดตตำแหน่ง
การแสดงผลของหน้าจอ
การแสดงผลหน้าจอมักทำให้สิ้นเปลืองพลังงานมากที่สุดในแอปการนำทางบนอุปกรณ์เคลื่อนที่ ทุกครั้งที่อุปกรณ์วาดแผนที่และองค์ประกอบ UI อื่นๆ บนหน้าจอ อุปกรณ์จะอาศัยการประมวลผลของ GPU และ CPU ในทํานองเดียวกัน เมื่อผู้ใช้เปิดหน้าจอนั้นไว้เป็นเวลานาน อุปกรณ์ก็จะใช้พลังงานมากขึ้นด้วย
คุณอาจเห็นว่าอุปกรณ์มีการสิ้นเปลืองพลังงานสูงในระดับหนึ่งจากคนขับหรือคนขี่ที่พึ่งพาแผนที่ที่มองเห็นได้เพื่อไปยังจุดหมาย โดยเฉพาะอย่างยิ่งหากใช้แอปอย่างต่อเนื่องเป็นเวลาหลายชั่วโมง ในกรณีนี้ แอปจะแสดงผลบนหน้าจอด้วยอัตราที่สูงขึ้นด้วย เนื่องจากแผนที่จะอัปเดตแบบเรียลไทม์ ในบางกรณี หน้าจออาจวาดภาพใหม่เกือบต่อเนื่อง โดยเฉพาะเมื่อผู้ใช้ขับรถจากจุดหนึ่งไปยังอีกจุดหนึ่งโดยไม่หยุด
การอัปเดตตำแหน่ง
นอกจากการแสดงผลหน้าจอแล้ว กิจกรรมการนำทางอีก 2 รายการยังใช้พลังงานของอุปกรณ์ด้วย
- หอสัญญาณโทรศัพท์มือถือและการใช้ GPS
- การอัปเดตและการแชร์ตำแหน่ง เช่น เพื่อระบุเวลาถึงโดยประมาณหรือรายงานตำแหน่งของยานพาหนะในกลุ่ม
ทั้งการสื่อสารผ่าน GPS และวิทยุมือถือต่างก็อาศัยการเริ่มต้นระบบที่กินพลังงานมาก โดย GPS ต้องค้นหาดาวเทียมและวิทยุมือถือต้องเจรจากับหอคอยและสร้างการเชื่อมต่อ ด้วยเหตุนี้ อุปกรณ์เหล่านี้จึงทำงานอย่างต่อเนื่องในระหว่างการนำทาง แม้ว่าวิทยุมือถือจะยังคงทำงานต่อไปอีก 20-30 วินาทีเพื่อพยายามลดต้นทุนการเริ่มต้นใช้งาน ระบบปฏิบัติการจะควบคุมการตั้งค่าเหล่านี้ ซึ่งคุณไม่สามารถกำหนดค่าในแอปได้ง่ายๆ
สําหรับการอัปเดตตําแหน่ง ปริมาณการใช้พลังงานจะแตกต่างกันไปตามปัจจัยที่คาดเดาไม่ได้ ตัวอย่างเช่น ระยะห่างระหว่างอุปกรณ์กับสถานีฐานเครือข่ายมือถือเป็นตัวกำหนดการใช้พลังงาน เนื่องจากอุปกรณ์จะใช้สัญญาณขั้นต่ำที่จำเป็นต่อการนําทางต่อไปเพื่อหลีกเลี่ยงการเปลี่ยนเสาสัญญาณ ดังนั้น อุปกรณ์ที่ไปยังพื้นที่ที่มีการเชื่อมต่อไม่ดีจะใช้พลังงานมากกว่าอุปกรณ์ที่อยู่ใกล้กับสถานีฐาน นอกจากนี้ แอปบางแอปอาจแชร์การอัปเดตตำแหน่งกับบริการจัดการกลุ่มยานพาหนะส่วนกลาง จึงต้องสื่อสารกับเซิร์ฟเวอร์เพื่อดำเนินการนี้
เพิ่มประสิทธิภาพการใช้พลังงานของแอป
ปัญหาในการเพิ่มประสิทธิภาพการใช้พลังงานในแอปการนำทางคือแอปเหล่านี้ใช้ทรัพยากรที่กินพลังงานมาก ซึ่งจำกัดตัวเลือกในการลดผลกระทบโดยไม่ต้องมีการแลกเปลี่ยน เช่น การจำกัดการใช้หน้าจอ ส่วนนี้จะแสดงรายการแนวทางที่คุณสามารถใช้เมื่อเพิ่มประสิทธิภาพแอป โดยจัดเรียงจากแนวทางที่มีประสิทธิภาพสูงสุดไปจนถึงแนวทางที่มีประสิทธิภาพน้อยที่สุด
เปลี่ยนอัตราเฟรม
หน้าจอจะอัปเดตสิ่งที่แสดงด้วยความถี่ที่เรียกว่าอัตราเฟรม โดยปกติอัตราเฟรมจะวัดเป็นเฟรมต่อวินาที (FPS) เนื่องจากการแสดงผลหน้าจอใช้ CPU หรือ GPU เป็นจำนวนมาก คุณจึงลดอัตราเฟรมเพื่อประหยัดพลังงานได้
ข้อเสียของการลดอัตราเฟรมคือการแสดงผลหน้าจออาจดูไม่ราบรื่นนัก โดยเฉพาะหากแผนที่มีการอัปเดตบ่อยครั้ง ปัญหานี้อาจเห็นได้ชัดที่สุดเมื่อคุณซูมแผนที่เพื่อแสดงรายละเอียดสูง เมื่อผู้ใช้เดินทางด้วยความเร็วสูง หรือเมื่อเปลี่ยนความเร็วหรือทิศทางอย่างมาก
ดูข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไขอัตราเฟรมได้ที่ส่วนอัตราเฟรมในเอกสารประกอบสำหรับนักพัฒนาแอปของศูนย์พัฒนาแอป Android Media
ไปยังที่ต่างๆ โดยไม่ต้องใช้แผนที่
แม้ว่าคุณจะไม่สามารถควบคุมวิธีที่ผู้ใช้ปลายทางตั้งค่าความสว่างของหน้าจออุปกรณ์หรือระยะเวลาที่เปิดหน้าจอไว้ได้ แต่คุณสามารถระบุตัวเลือกคำแนะนำในการนำทางโดยไม่ต้องใช้แผนที่ ซึ่งจะช่วยให้ผู้ใช้ปลายทางเลือกตัวเลือกดังกล่าวเพื่อประหยัดพลังงานได้ เช่น หากคนขับทำงานในละแวกเดียวกันเป็นประจำ ก็อาจไม่จำเป็นต้องใช้คำแนะนำตามแผนที่บ่อยนัก คุณเปิดใช้การนำทางโดยไม่มีแผนที่ได้ด้วยการตั้งค่าจุดหมายและเริ่มคำแนะนำใน Navigation SDK แต่ไม่แสดงแผนที่
หากต้องการซ่อน UI การนําทาง อย่าเพิ่ม NavigationView หรือ SupportNavigationFragment หรือหากเพิ่มไปแล้ว ให้นําโค้ดที่เพิ่มออก โค้ดต่อไปนี้แก้ไขมาจาก แอปสาธิต Android ของ Navigation SDK และแสดงการใช้ความคิดเห็นเพื่อนำโค้ดที่เพิ่ม UI การนำทางออก
//Obtain a reference to the NavigationFragment
//setContentView(R.layout.activity_nav_fragment);
//mNavFragment = (SupportNavigationFragment) getSupportFragmentManager().findFragmentById(R.id.navigation_fragment);
Navigation SDK จะอัปเดตตำแหน่งที่ถ่ายจากถนน เวลาถึงโดยประมาณ และระยะทางที่เหลือในการเดินทางต่อไป และแอปของคุณจะยังคงติดตามเหตุการณ์ทั้งหมดที่ SDK สร้างขึ้นได้ขณะที่คนขับขับรถต่อไป วิธีการนี้ไม่เหมาะกับกรณีการใช้งานบางกรณี และแน่นอนว่าไม่ใช่คำแนะนำที่ดีในกรณีที่คนขับต้องดูแผนที่และปฏิบัติตามคำแนะนำด้วยภาพ ภาพหน้าจอต่อไปนี้แสดงการเปรียบเทียบแบบเคียงข้างกันของการเปิด/ปิดมุมมองแผนที่ระหว่างการนําทาง
![]() |
![]() |
ใช้รูปแบบแผนที่แบบมืด
ลองจัดสไตล์แผนที่ให้ใช้ธีมมืดเพื่อลดปริมาณพลังงานที่จําเป็นในการแสดงผลแผนที่บนหน้าจอ
Navigation SDK จะแสดงผลแผนที่โดยใช้ Google Maps SDK สำหรับ Android ซึ่งมีตัวเลือกสำหรับการจัดรูปแบบมุมมองแผนที่ที่ไม่ใช่การนำทางในแอปของคุณ มุมมองการนำทางยังรองรับการบังคับใช้โหมดมืดด้วย การตั้งค่านี้อาจไม่ส่งผลต่ออุปกรณ์ทุกเครื่องในลักษณะเดียวกันเนื่องจากความแตกต่างของประเภทหน้าจอ แต่อาจช่วยประหยัดพลังงานได้ในบางกรณี การศึกษาล่าสุดพบว่าปริมาณพลังงานที่ประหยัดได้จากโหมดมืดในบางหน้าจอขึ้นอยู่กับความสว่างของหน้าจอตั้งแต่เริ่มต้น ตัวอย่างเช่น โหมดมืดจะประหยัดพลังงานได้มากกว่าในหน้าจอที่ตั้งค่าไว้ที่ความสว่างสูงสุด เมื่อเทียบกับหน้าจอที่ปรับความสว่างไว้ที่ 30-50% ของความสว่างสูงสุด ข้อมูลนี้เป็นสิ่งที่ควรพิจารณาเมื่อใช้โหมดมืดสำหรับแอป เนื่องจากการประหยัดพลังงานจะสัมพันธ์กับวิธีที่ผู้ใช้ปลายทางตั้งค่าความสว่างของหน้าจอ
ดูข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไข UI การนําทางได้ที่แก้ไข UI การนําทาง
![ภาพหน้าจอของ Navigation SDK ที่ทำงานบน iPhone 15 Pro ด้วยแผนที่สไตล์มืด](https://developers.google.cn/static/maps/documentation/navigation/images/nav_dark_map_style.png?hl=th)
หากต้องการสร้างรูปแบบสีเข้มสำหรับแผนที่ ให้ใช้ออบเจ็กต์ MapStyleOptions ที่มีรูปแบบ JSON ที่แสดงรูปแบบแผนที่สีเข้มที่ต้องการ คุณสร้างรูปแบบ JSON เดิมได้โดยใช้เครื่องมือแก้ไขรูปแบบเดิมที่ https://mapstyle.withgoogle.com/
เปลี่ยนความถี่ในการอัปเดตตำแหน่ง GPS
เมื่อพิจารณาการใช้พลังงานจากการอัปเดตตำแหน่งที่ส่งจากอุปกรณ์ ให้มุ่งเน้นที่ความถี่ในการอัปเดตตำแหน่งมากกว่าปริมาณข้อมูลที่ส่งในการรับส่ง
การดำเนินการนี้ไม่ใช่สิ่งที่คุณควบคุมได้โดยตรงใน Navigation SDK แต่หากแอป Android ขอตำแหน่งอย่างอิสระ คุณควรพิจารณาคำแนะนำในบทความเกี่ยวกับการเพิ่มประสิทธิภาพตำแหน่งเพื่อประหยัดแบตเตอรี่ในเอกสารประกอบสำหรับนักพัฒนาแอป Android คำแนะนำเดียวกันนี้ใช้กับการใช้แหล่งที่มาของตำแหน่งที่ไม่ใช่ GPS (เครือข่ายมือถือและ Wi-Fi) ด้วย
แชร์ข้อมูลดีๆ กับผู้ใช้
ผู้ใช้แอปอาจต้องการทราบวิธีเพิ่มประสิทธิภาพการใช้พลังงาน โปรดแนะนำให้ผู้ใช้ดำเนินการต่อไปนี้เพื่อช่วยประหยัดพลังงานในแอป
- ล็อกโทรศัพท์
- วางแอปการนำทางไว้ในเบื้องหลัง
- ใช้การนําทางโดยไม่มีแผนที่หากเป็นไปได้
- ลดความสว่างของหน้าจอโดยใช้โหมดมืดสำหรับหน้าจอ OLED และ AMOLED หรือเปิดใช้ความสว่างที่ปรับตามสภาพแวดล้อม
- รักษาอุณหภูมิของอุปกรณ์ให้เย็น
- เชื่อมต่อกับ Wi-Fi ในรถ (หากมี)
วัดการใช้พลังงาน
คุณสามารถใช้เครื่องมือระดับมืออาชีพเพื่อวัดการสิ้นเปลืองพลังงานได้ แต่เครื่องมือเหล่านี้มักหายากและมีราคาสูง เครื่องมือโปรไฟล์แอปและ IDE เช่น Power Profiler ใน Android Studio และแผงการใช้งานแบตเตอรี่ใน XCode Organizer จะวัดการสิ้นเปลืองพลังงาน แต่อาจนําผลกระทบของกระบวนการเบื้องหลังออกหรือตั้งค่าพื้นฐานประสิทธิภาพเพื่อเปรียบเทียบได้ยาก ในบางกรณี ข้อจำกัดของอุปกรณ์อาจทำให้เข้าถึงข้อมูลที่จำเป็นไม่ได้
คุณสามารถใช้ฮาร์ดแวร์การตรวจสอบพลังงานสำหรับวัตถุประสงค์พิเศษและแก้ไขการกำหนดค่าการเชื่อมต่อแบตเตอรี่ รวมถึงผลิตภัณฑ์และบริการเชิงพาณิชย์ที่พร้อมให้ใช้งานเพื่อช่วยคุณดำเนินการนี้ โปรดทราบว่าการแก้ไขอุปกรณ์ด้วยวิธีนี้อาจทำให้การรับประกันของอุปกรณ์เป็นโมฆะ