เพิ่มประสิทธิภาพการใช้พลังงานสำหรับแอปของคุณ

เอกสารนี้จะอธิบายวิธีเพิ่มประสิทธิภาพการใช้พลังงานในแอปการนำทางบนอุปกรณ์เคลื่อนที่ที่คุณสร้างโดยใช้ รหัสการนำทาง ในขณะเดียวกัน ก็พูดถึงข้อดีและข้อเสียที่ควรพิจารณาเมื่อใช้แนวทางปฏิบัติเหล่านี้ กล่าวโดยละเอียดคือเอกสารนี้

  • แหล่งที่มาของการใช้พลังงานสูง โดยจัดอันดับจากสูงสุดไปต่ำสุด
  • กลยุทธ์สำหรับการเพิ่มประสิทธิภาพการใช้พลังงาน โดยเรียงตามลำดับความสำคัญ เริ่มจากอัตราเฟรม
  • กลยุทธ์สำหรับผู้ใช้ปลายทางในการให้ความรู้ผู้ใช้แอปเกี่ยวกับวิธีจัดการการใช้งานอุปกรณ์ขณะใช้การนำทาง

ทำไมจึงควรเพิ่มประสิทธิภาพแอปนำทาง

ผู้ใช้แอปอาจเรียกใช้คำแนะนำการนำทางเป็นเวลานาน ทั้งนี้ขึ้นอยู่กับสถานการณ์ของผู้ใช้ เช่น คนขับรถและผู้ให้บริการจัดส่งอาจทำงาน นานหลายชั่วโมงโดยทำงานที่ได้รับมอบหมายในเขตแดนที่ไม่คุ้นเคย ในกรณีเหล่านี้ พวกเขามักพึ่งพาคำแนะนำ แบบเลี้ยวต่อเลี้ยวในแอปเป็นหลัก ซึ่งทำให้เกิดปัญหาทั่วไปดังนี้

  • แบตเตอรี่หมดเร็วและความพร้อมใช้งานของที่ชาร์จ การใช้การนำทางมากเกินไปอาจทำให้แบตเตอรี่ของอุปกรณ์หมดเร็วกว่าที่คาดไว้ แม้ว่าผู้ใช้จำนวนมากจะจัดการได้ด้วยการชาร์จอุปกรณ์ในรถ แต่คนขับมอเตอร์ไซค์ก็ทำไม่ได้
  • การควบคุมอุปกรณ์เนื่องจากความร้อน แม้แต่ผู้ใช้ที่ชาร์จอุปกรณ์อย่างต่อเนื่อง ก็อาจพบปัญหาได้ การใช้พลังงานสูงเป็นเวลานานอาจทำให้อุปกรณ์ร้อนขึ้น ซึ่งส่งผลให้มีการควบคุมความร้อนและสูญเสียประสิทธิภาพในภายหลัง

แอปนำทางแบบเลี้ยวต่อเลี้ยวต้องใช้ฟีเจอร์ที่ใช้พลังงานมาก เช่น หน้าจอ, GPS และการสื่อสารทางวิทยุกับเสาสัญญาณมือถือ จึงเป็นแนวทางปฏิบัติแนะนำในการเพิ่มประสิทธิภาพการใช้พลังงานของแอปบนอุปกรณ์เคลื่อนที่ นอกจากนี้ คุณควรพิจารณาความต้องการใช้พลังงานของกลุ่มเป้าหมายเพื่อให้คุณสามารถแลกเปลี่ยนระหว่างประสิทธิภาพการทำงานและการเพิ่มประสิทธิภาพการใช้พลังงานได้อย่างเหมาะสม

อะไรใช้พลังงานไฟมากที่สุด

ส่วนนี้จะแบ่งกิจกรรมในแอปที่เกี่ยวข้องกับการใช้พลังงานสูงออกเป็น 2 หมวดหมู่ ดังนี้

  • การแสดงหน้าจอ
  • การอัปเดตตำแหน่ง

การแสดงหน้าจอ

การแสดงผลหน้าจอมักจะทำให้มีการใช้พลังงานสูงสุดในแอปการนำทางบนอุปกรณ์เคลื่อนที่ แต่ละครั้งที่อุปกรณ์วาดแผนที่และองค์ประกอบ UI อื่นๆ บนหน้าจอ จะใช้การประมวลผลของ GPU และ CPU ในทำนองเดียวกัน เมื่อผู้ใช้เปิดหน้าจอทิ้งไว้เป็นเวลานาน ก็จะใช้พลังงานมากขึ้นเช่นกัน

คุณคาดหวังได้ว่าจะมีการใช้พลังงานสูงจากคนขับหรือผู้โดยสารที่ต้องใช้แผนที่ที่มองเห็นได้ในการนำทาง โดยเฉพาะอย่างยิ่งหากพวกเขาใช้แอปอย่างต่อเนื่องเป็นเวลาหลายชั่วโมง ในสถานการณ์นี้ แอปจะทำการแสดงผลบนหน้าจอในอัตราที่สูงขึ้นด้วย เนื่องจากแผนที่จะอัปเดตแบบเรียลไทม์ ในบางกรณี หน้าจออาจวาดใหม่เกือบอย่างต่อเนื่อง โดยเฉพาะอย่างยิ่งเมื่อผู้ใช้ขับรถจากตำแหน่งหนึ่งไปอีกตำแหน่งหนึ่งโดยไม่หยุด

การอัปเดตตำแหน่ง

นอกจากการแสดงผลหน้าจอแล้ว กิจกรรมการนำทางอีก 2 อย่างที่ใช้พลังงานของอุปกรณ์ ได้แก่

  • เสาสัญญาณวิทยุและการใช้งาน GPS
  • การอัปเดตและการแชร์ตำแหน่ง เช่น เพื่อระบุเวลาถึงโดยประมาณหรือรายงานตำแหน่งของยานพาหนะในยานพาหนะ

การสื่อสารทั้ง GPS และวิทยุมือถือต้องอาศัยการทำงานระหว่างการเริ่มต้นเครือข่ายที่ต้องการพลังงาน: GPS ต้องค้นหาดาวเทียม และวิทยุมือถือต้องเจรจากับเสาสัญญาณและเริ่มต้นการเชื่อมต่อ ด้วยเหตุนี้ สัญญาณจึงทำงานอย่างต่อเนื่องระหว่างการนำทาง แม้ว่าวิทยุมือถือจะยังทำงานอยู่เป็นเวลา 20-30 วินาทีเพื่อที่จะลดค่าใช้จ่ายในการเริ่มต้น ระบบปฏิบัติการจะควบคุมการตั้งค่าเหล่านี้ ซึ่งคุณกำหนดค่าในแอปได้ยาก

สำหรับการอัปเดตตำแหน่ง การใช้พลังงานจะแตกต่างกันไปตามปัจจัยที่คาดเดาไม่ได้ ตัวอย่างเช่น ระยะห่างระหว่างอุปกรณ์กับสถานีฐานของเครือข่ายมือถือจะเป็นตัวกำหนดการใช้พลังงาน เนื่องจากอุปกรณ์จะใช้สัญญาณขั้นต่ำที่จำเป็นในการนำทางต่อไปเพื่อหลีกเลี่ยงการเปลี่ยนเสาสัญญาณ ดังนั้น อุปกรณ์ที่นำทางในพื้นที่ที่มีการเชื่อมต่อไม่ดีจะใช้พลังงานมากกว่าอุปกรณ์ที่ใกล้กับสถานีฐาน นอกจากนี้ แอปบางแอปอาจแชร์การอัปเดตตำแหน่งกับบริการจัดการกลุ่มอุปกรณ์ส่วนกลาง ดังนั้นจึงต้องสื่อสารกับเซิร์ฟเวอร์เพื่อดำเนินการดังกล่าว

เพิ่มประสิทธิภาพการใช้พลังงานของแอป

ความท้าทายในการเพิ่มประสิทธิภาพการใช้พลังงานในแอปการนำทางคือ แอปเหล่านี้ต้องอาศัยทรัพยากรที่ใช้พลังงานมากเป็นหลัก ทำให้มีตัวเลือกในการลดผลกระทบที่อาจเกิดขึ้นโดยไม่ส่งผลกระทบต่อการใช้งาน เช่น การจำกัดการใช้งานหน้าจอ ส่วนนี้จะแสดงรายการแนวทางที่คุณสามารถนำไปใช้ในการเพิ่มประสิทธิภาพแอป โดยเรียงลำดับจากผลกระทบที่มากที่สุดไปน้อยที่สุด

เปลี่ยนอัตราเฟรม

หน้าจอจะอัปเดตสิ่งที่แสดงด้วยความถี่ที่เรียกว่าอัตราเฟรม โดยทั่วไปอัตราเฟรมจะวัดเป็นหน่วยเฟรมต่อวินาที (FPS) เนื่องจากการแสดงผลหน้าจอใช้ CPU หรือ GPU จำนวนมาก คุณลดอัตราเฟรมลงเพื่อประหยัดพลังงานได้

ข้อดีข้อเสียของการลดอัตราเฟรมก็คือการแสดงผลหน้าจออาจราบรื่นน้อยลง โดยเฉพาะอย่างยิ่งหากแผนที่มีการอัปเดตบ่อยครั้ง ซึ่งอาจเห็นได้ชัดที่สุดเมื่อแผนที่ซูมเข้าเพื่อแสดงรายละเอียดสูง เมื่อผู้ใช้เดินทางด้วยความเร็วสูง หรือเปลี่ยนความเร็วหรือทิศทางเป็นจำนวนมาก

ดูข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไขอัตราเฟรมได้จากส่วนอัตราเฟรมในเอกสารประกอบสําหรับนักพัฒนาซอฟต์แวร์ Android Media Dev Center

แม้ว่าคุณจะไม่สามารถควบคุมวิธีที่ผู้ใช้ปลายทางตั้งค่าความสว่างของหน้าจออุปกรณ์หรือระยะเวลาที่ผู้ใช้เปิดหน้าจอไว้ แต่คุณสามารถใส่ตัวเลือกสำหรับคำแนะนำการนำทางที่ไม่มีแผนที่ได้ วิธีนี้จะช่วยให้ผู้ใช้ปลายทางเลือกตัวเลือกนั้นเพื่อประหยัดพลังงาน ตัวอย่างเช่น หากผู้ขับขี่มักทำงานในย่านเดียวกัน พวกเขาอาจไม่ต้องการคำแนะนำจากแผนที่บ่อยนัก คุณสามารถเปิดใช้การนำทางที่ไม่มีแผนที่ได้โดย การตั้งค่าปลายทางและการเริ่มต้นคำแนะนำ ใน 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);

SDK การไปยังส่วนต่างๆ จะอัปเดตตำแหน่งที่มีการสับเปลี่ยน เวลาถึงโดยประมาณ และระยะทางในการเดินทางที่เหลืออยู่ต่อไป และแอปของคุณยังคงสามารถสมัครรับข้อมูล เหตุการณ์ทั้งหมดที่ SDK จัดขึ้น ขณะที่ผู้ขับดำเนินการต่อได้ วิธีนี้ไม่เหมาะกับการใช้งานทุกกรณี และแน่นอนว่าไม่ใช่คำแนะนำที่ดีในกรณีที่พนักงานขับรถต้องดูแผนที่และปฏิบัติตามคำแนะนำที่เป็นภาพ ภาพหน้าจอต่อไปนี้แสดงการเปรียบเทียบการสลับเปิด/ปิดมุมมองแผนที่ระหว่างการนำทางที่ใช้งานอยู่

แอปเดโมที่ทำงานโดยมองเห็นมุมมองแผนที่
ภาพที่ 1.แอปเดโมสำหรับ iOS ของ SDK การนำทางที่แสดงการสาธิตการย้อนกลับ
แอปเดโมทำงานโดยมองไม่เห็นมุมมองแผนที่
ภาพที่ 2 แอปสาธิตที่ทำงานโดยไม่เห็นมุมมองแผนที่ โปรดทราบว่าเวลาและระยะทางที่เหลืออยู่ รวมถึงตำแหน่งที่ตัดเป็นถนนจะยังคงได้รับการอัปเดตอยู่

ใช้รูปแบบแผนที่แบบมืด

ลองจัดรูปแบบแผนที่เพื่อใช้ธีมสีเข้มเพื่อลดปริมาณพลังงานที่ต้องใช้ในการแสดงผลแผนที่บนหน้าจอ

Navigation SDK จะแสดงแผนที่โดยใช้ Google Maps SDK สำหรับ Android ซึ่งมีตัวเลือกสำหรับการจัดรูปแบบมุมมองแผนที่ที่ไม่ใช่การนำทางในแอปของคุณ มุมมองการนำทางรองรับการบังคับโหมดมืดด้วย วิธีนี้อาจมีความแตกต่างกันในอุปกรณ์ทุกเครื่องเนื่องจากประเภทหน้าจอที่แตกต่างกัน แต่ในบางกรณีอาจช่วยประหยัดพลังงานได้ การศึกษาล่าสุดพบว่าปริมาณพลังงานที่โหมดมืดที่ประหยัดได้ในบางหน้าจอขึ้นอยู่กับระดับความสว่างของหน้าจอเริ่มต้น ตัวอย่างเช่น โหมดมืดจะช่วยประหยัดพลังงานในหน้าจอที่ตั้งค่าความสว่างเต็มได้มากกว่าหน้าจอที่ปรับความสว่างเป็น 30-50% ของสูงสุดอยู่แล้ว สิ่งสำคัญที่ควรพิจารณาเมื่อใช้โหมดมืดในแอป เนื่องจากการประหยัดพลังงานจะสัมพันธ์กับวิธีที่ผู้ใช้ปลายทางตั้งค่าความสว่างหน้าจอ

ดูข้อมูลเพิ่มเติมเกี่ยวกับการแก้ไข UI การไปยังส่วนต่างๆ ได้ที่แก้ไข UI การไปยังส่วนต่างๆ

ภาพหน้าจอของ Navigation SDK ที่ทำงานใน iPhone 15 Pro พร้อมรูปแบบแผนที่สีเข้ม
ภาพที่ 3SDK การนำทางที่กำหนดค่าด้วยรูปแบบแผนที่สีเข้ม

หากต้องการสร้างรูปแบบมืดสำหรับแผนที่ของคุณ ให้ใช้ออบเจ็กต์ MapStyleOptions ที่มีรูปแบบ JSON ที่แสดงรูปแบบแผนที่มืดที่คุณเลือก คุณสร้างรูปแบบ JSON เดิมได้โดยใช้เครื่องมือแก้ไขการจัดรูปแบบเดิมที่ https://mapstyle.withgoogle.com/

เปลี่ยนความถี่ในการอัปเดตตำแหน่ง GPS

เมื่อพิจารณาการใช้พลังงานจากการอัปเดตตำแหน่งที่ส่งจากอุปกรณ์ ให้เน้นไปที่ความถี่ของการอัปเดตตำแหน่งมากกว่าจำนวนข้อมูลที่ส่งในระหว่างการส่งข้อมูล

นี่ไม่ใช่สิ่งที่คุณควบคุมได้โดยตรงใน รหัสการนำทาง แต่หากแอป Android ขอตำแหน่งโดยอิสระ คุณควรดูคำแนะนำในบทความ "เพิ่มประสิทธิภาพตำแหน่งสำหรับแบตเตอรี่" ในเอกสารประกอบสำหรับนักพัฒนาซอฟต์แวร์ Android คำแนะนำเดียวกันนี้นี้ใช้กับการใช้แหล่งข้อมูลตำแหน่งที่ไม่ใช่ GPS (เครือข่ายมือถือและ Wi-Fi)

แชร์ข้อมูลดีๆ กับผู้ใช้

ผู้ใช้แอปอาจต้องการทราบวิธีเพิ่มประสิทธิภาพการใช้พลังงาน หากต้องการช่วยลดการใช้พลังงานในแอป โปรดแจ้งให้ผู้ใช้ดำเนินการดังนี้

  • ล็อกโทรศัพท์
  • ใส่แอปนำทางในพื้นหลัง
  • ใช้การนำทางโดยไม่มีแผนที่หากเป็นไปได้
  • ลดความสว่างของหน้าจอด้วยการใช้โหมดมืดสำหรับหน้าจอ OLED และ AMOLED หรือด้วยการเปิดใช้การปรับความสว่างอัตโนมัติ
  • ให้อุปกรณ์เย็นอยู่เสมอ
  • เชื่อมต่อ Wi-Fi ในรถยนต์ หากมี
ดูการใช้แบตเตอรี่ของอุปกรณ์ Android ให้ได้ประสิทธิภาพสูงสุด สำหรับคำแนะนำของผู้ใช้ปลายทางเกี่ยวกับการยืดอายุการใช้งานแบตเตอรี่ใน Android โปรดทราบว่าคำแนะนำนี้ รวมถึงการดำเนินการที่อาจทำให้ประสิทธิภาพของแอปนำทางลดลงตามที่ พูดถึงในเพิ่มประสิทธิภาพการใช้พลังงานของแอปในคู่มือนี้

วัดการใช้พลังงาน

คุณสามารถใช้เครื่องมือระดับมืออาชีพเพื่อวัดการใช้พลังงานได้ แต่มักจะซื้อมาได้ยากหรือมีค่าใช้จ่ายสูง แอปและเครื่องมือทำโปรไฟล์ IDE เช่น PowerProfiler ใน Android Studio และแผงการใช้งานแบตเตอรี่ใน XCode organr จะวัดการใช้พลังงาน แต่อาจเป็นเรื่องยากที่จะนำผลกระทบของกระบวนการที่ทำงานอยู่เบื้องหลังออกหรือกำหนดเกณฑ์พื้นฐานด้านประสิทธิภาพเพื่อวัดผล ในบางกรณี ข้อจำกัดของอุปกรณ์อาจทำให้ ไม่สามารถเข้าถึงข้อมูลที่จำเป็นได้

คุณสามารถใช้ฮาร์ดแวร์ตรวจสอบพลังงานสำหรับวัตถุประสงค์พิเศษและแก้ไขการกำหนดค่าการเชื่อมต่อแบตเตอรี่ โดยจะมีผลิตภัณฑ์และบริการเชิงพาณิชย์อยู่เพื่อช่วยคุณในการดำเนินการนี้ โปรดทราบว่าการแก้ไขอุปกรณ์ในลักษณะนี้อาจทำให้การรับประกันของอุปกรณ์เป็นโมฆะ