การใช้วิทยุไร้สายเพื่อโอนข้อมูลอาจเป็นสิ่งหนึ่งที่ถือว่าเป็น แหล่งพลังงานแบตเตอรี่ที่สำคัญ เพื่อลดปริมาณการใช้แบตเตอรี่ที่เกี่ยวข้อง ในกิจกรรมเครือข่าย คุณจึงต้องเข้าใจวิธีการเชื่อมต่อ รุ่นจะส่งผลต่อฮาร์ดแวร์วิทยุพื้นฐาน
ส่วนนี้จะแนะนำเครื่องบอกสถานะวิทยุไร้สาย และอธิบายลักษณะ โมเดลการเชื่อมต่อของแอปจะโต้ตอบกับแอป แล้วเสนอเทคนิคต่างๆ ซึ่งจะช่วยลดผลกระทบจากข้อมูลของแอปให้เหลือน้อยที่สุด ปริมาณการใช้แบตเตอรี่
เครื่องกำหนดสถานะวิทยุ
วิทยุไร้สายในอุปกรณ์ของผู้ใช้มีฟีเจอร์การประหยัดพลังงานในตัว ช่วยลดการใช้พลังงานแบตเตอรี่ที่ใช้ เมื่อทำงานอย่างสมบูรณ์ วิทยุไร้สายจะใช้พลังงานมาก แต่เมื่อไม่มีการใช้งานหรืออยู่ในโหมดสแตนด์บาย วิทยุใช้พลังงานน้อยมาก
ปัจจัยสำคัญอย่างหนึ่งที่ต้องจำไว้คือ วิทยุไม่สามารถย้ายจากโหมดสแตนด์บายไปยังโหมดสแตนด์บายได้ ทำงานโดยสมบูรณ์ในทันที มีระยะเวลาหน่วงเวลาที่เชื่อมโยงกับ "เพิ่มพลัง" วิทยุ ดังนั้นแบตเตอรี่จะเปลี่ยนจากสถานะพลังงานสูงขึ้นเป็น สถานะพลังงานลดลงอย่างช้าๆ เพื่อประหยัดพลังงานเมื่อไม่ได้ใช้งานขณะ เพื่อพยายามลดเวลาในการตอบสนอง ที่เกี่ยวข้องกับ "การเพิ่มเครื่อง" วิทยุ
เครื่องสถานะของวิทยุเครือข่าย 3G โดยทั่วไปจะมีสถานะพลังงาน 3 สถานะดังนี้
- พลังงานเต็ม: ใช้เมื่อการเชื่อมต่อทำงานอยู่ ซึ่งทำให้อุปกรณ์ดำเนินการต่อไปนี้ได้ โอนข้อมูลในอัตราสูงสุดเท่าที่จะเป็นไปได้
- พลังงานต่ำ: สถานะระดับกลางที่ลดการใช้พลังงานแบตเตอรี่ลง ประมาณ 50%
- สแตนด์บาย: สถานะใช้พลังงานต่ำที่สุดระหว่างที่ไม่มีเครือข่าย ทำงานอยู่
แม้ว่าสถานะ "ต่ำ" และ "สแตนด์บาย" จะใช้พลังงานแบตเตอรี่น้อยลงอย่างมาก ทำให้เกิดเวลาในการตอบสนองที่มากในคำขอเครือข่าย จะกลับสู่พลังงานเต็มรูปแบบจาก สถานะต่ำจะใช้เวลาประมาณ 1.5 วินาที และจะเปลี่ยนจากโหมดสแตนด์บายเป็นพลังงานเต็ม อาจกินเวลาเกิน 2 วินาที
โดยเครื่องสถานะจะใช้การหน่วงเวลาเพื่อเลื่อนการเปลี่ยนเพื่อลดเวลาในการตอบสนอง เป็นสถานะพลังงานลดลง รูปที่ 1 ใช้เวลาของ AT&T สำหรับวิทยุ 3G ทั่วไป
เครื่องแสดงสถานะวิทยุบนอุปกรณ์แต่ละเครื่อง โดยเฉพาะการเปลี่ยนที่เกี่ยวข้อง ความล่าช้า ("เวลาอย่างรวดเร็ว") และเวลาในการตอบสนองการเริ่มต้น จะแตกต่างกันไปตามวิทยุไร้สาย เทคโนโลยีที่ใช้ (3G, LTE, 5G และอื่นๆ) และกำหนดและกำหนดค่าโดย เครือข่ายผู้ให้บริการที่อุปกรณ์ทำงานอยู่
หน้านี้จะอธิบายถึงเครื่องบ่งชี้สถานะสำหรับ 3G แบบไร้สายทั่วไป โดยอิงตามข้อมูลของ AT&T อย่างไรก็ตาม หลักการทั่วไปและ แนวทางปฏิบัติแนะนำที่ใช้ได้กับการติดตั้งวิทยุไร้สายทุกประเภท
วิธีนี้มีประสิทธิภาพอย่างยิ่งสำหรับการท่องเว็บบนอุปกรณ์เคลื่อนที่โดยทั่วไป ป้องกันเวลาในการตอบสนองที่ไม่พึงประสงค์ขณะที่ผู้ใช้เรียกดูเว็บ ราคาค่อนข้างต่ำ เวลาพิเศษยังช่วยให้มั่นใจว่าเมื่อเซสชันการเรียกดูสิ้นสุดลง วิทยุจะ เปลี่ยนเป็นสถานะพลังงานที่ต่ำลง
น่าเสียดายที่แนวทางนี้อาจทำให้เกิดแอปที่ไม่มีประสิทธิภาพในสมาร์ทโฟนรุ่นใหม่ ระบบปฏิบัติการ เช่น Android ซึ่งแอปทำงานทั้งเบื้องหน้า เวลาในการตอบสนองเป็นสิ่งสำคัญ) และทำงานในเบื้องหลัง (ที่ควรจะมีอายุการใช้งานแบตเตอรี่) ที่ได้รับการจัดลำดับความสำคัญสูงสุด)
แอปมีผลต่อเครื่องสถานะวิทยุอย่างไร
ทุกครั้งที่คุณสร้างการเชื่อมต่อเครือข่ายใหม่ วิทยุจะเปลี่ยนไปยัง สถานะพลังงานเต็ม ในกรณีของเครื่องแสดงสถานะวิทยุ 3G ทั่วไปที่อธิบาย ก่อนหน้านี้ การเรียกเก็บเงินดังกล่าวจะยังคงใช้งานได้อย่างเต็มที่ตลอดระยะเวลาการโอนของคุณ รวมถึง ช้าลง 5 วินาทีของเวลาหาง ตามด้วย 12 วินาทีที่พลังงานต่ำ ดังนั้นสำหรับอุปกรณ์ 3G ทั่วไป ทุกเซสชันการโอนข้อมูลจะ วิทยุเพื่อดึงพลังงานเป็นเวลาอย่างน้อย 18 วินาที
ในทางปฏิบัติหมายความว่า แอปที่มีการโอนข้อมูลเพียง 1 วินาที นาทีละ 3 ครั้ง จะทำให้วิทยุไร้สายทำงานอยู่ตลอดเวลาและย้ายไป กลับไปเป็นพลังงานสูงเหมือนขณะเข้าสู่โหมดสแตนด์บาย
เมื่อเปรียบเทียบกันแล้ว หากแอปเดียวกันรวมการโอนข้อมูลไว้ด้วยกัน การเรียกใช้ครั้งเดียว ทุกนาทีที่ใช้เวลา 3 วินาที ทำให้คลื่นวิทยุ มีพลังงานสูง เป็น 20 วินาทีต่อนาที วิธีนี้ทำให้วิทยุ จะสแตนด์บายเป็นเวลา 40 วินาทีในทุกๆ นาที ซึ่งส่งผลให้เกิด การลดลงของการใช้แบตเตอรี่
เทคนิคการเพิ่มประสิทธิภาพ
เมื่อทราบแล้วว่าการเข้าถึงเครือข่ายส่งผลต่ออายุการใช้งานแบตเตอรี่อย่างไร มาพูดถึง คุณสามารถทำอะไรบางอย่างเพื่อช่วย ลดการใช้งานแบตเตอรี่ ให้ประสบการณ์ของผู้ใช้ ที่รวดเร็วและลื่นไหล
การโอนข้อมูลแบบกลุ่ม
ตามที่ระบุไว้ในส่วนก่อนหน้านี้ การรวมการโอนข้อมูลเพื่อให้คุณสามารถ การโอนข้อมูลบ่อยน้อยลงเป็นหนึ่งในวิธีที่ดีที่สุดในการปรับปรุงแบตเตอรี่ ที่มีประสิทธิภาพ
แน่นอนว่าเรื่องนี้เป็นไปไม่ได้เสมอไปหากแอปของคุณต้องได้รับ หรือ ส่งข้อมูลทันทีตามการดำเนินการของผู้ใช้ คุณสามารถลดความเสี่ยงนี้ได้โดย การคาดการณ์และการดึงข้อมูลล่วงหน้า สถานการณ์อื่นๆ เช่น การส่งบันทึกหรือการวิเคราะห์ไปยังเซิร์ฟเวอร์และข้อมูลอื่นๆ ที่ไม่เร่งด่วนที่เริ่มต้นโดยแอป โอนได้เป็นอย่างดี เหมาะสำหรับการรวมกลุ่มและการรวมกลุ่มอีเมล ดูการเพิ่มประสิทธิภาพ แอปเริ่มต้น Tasks สำหรับ เคล็ดลับในการกำหนดเวลาการโอนเครือข่ายในเบื้องหลัง
ดึงข้อมูลล่วงหน้า
การดึงข้อมูลล่วงหน้าเป็นอีกวิธีที่มีประสิทธิภาพในการลดจำนวน เซสชันการโอนข้อมูลที่แอปของคุณเรียกใช้ เมื่อใช้การดึงข้อมูลล่วงหน้า เมื่อผู้ใช้ ดำเนินการบางอย่างในแอป แอปจะคาดการณ์ข้อมูล สำหรับการดำเนินการของผู้ใช้ในลำดับถัดไป และดึงข้อมูลนั้น ระเบิดได้ด้วยการเชื่อมต่อเพียงครั้งเดียวอย่างเต็มความสามารถ
การโอนแบบเน้นระยะแรกจะช่วยลดจำนวนการเปิดใช้งานวิทยุ ซึ่งจำเป็นต่อการดาวน์โหลดข้อมูล ด้วยเหตุนี้ จึงไม่เพียงช่วยรักษา อายุการใช้งานแบตเตอรี่ แต่ยังปรับปรุงเวลาในการตอบสนอง ลดแบนด์วิดท์ที่จำเป็น และลดการดาวน์โหลด ครั้ง
การดึงข้อมูลล่วงหน้ายังช่วยปรับปรุงประสบการณ์ของผู้ใช้ด้วยการลดในแอป เวลาในการตอบสนองที่เกิดจากการรอให้การดาวน์โหลดเสร็จสมบูรณ์ก่อนดำเนินการ หรือการดูข้อมูล
ต่อไปนี้เป็นตัวอย่างที่นำไปปฏิบัติได้จริง
โปรแกรมอ่านข่าว
แอปข่าวจำนวนมากพยายามลดแบนด์วิดท์ด้วยการดาวน์โหลดพาดหัวเฉพาะหลังจาก มีการเลือกหมวดหมู่ บทความเต็มเฉพาะเวลาที่ผู้ใช้ต้องการจะอ่าน และภาพขนาดย่อเมื่อเลื่อนดู
เมื่อใช้วิธีนี้ วิทยุจึงถูกบังคับให้ยังคงให้บริการสำหรับเสียงส่วนใหญ่ ของผู้ใช้ เซสชันการอ่านข่าวในขณะที่เลื่อนพาดหัว เปลี่ยนหมวดหมู่ และ อ่านบทความ ไม่เพียงเท่านั้น การสลับสถานะพลังงานอย่างสม่ำเสมอ ส่งผลให้เกิดเวลาในการตอบสนองเพิ่มขึ้นอย่างมากเมื่อเปลี่ยนหมวดหมู่หรือการอ่าน บทความ
วิธีที่ดีกว่าคือการดึงข้อมูล ในปริมาณที่เหมาะสมล่วงหน้าเมื่อเริ่มต้นระบบ โดยเริ่มจากพาดหัวข่าวและภาพขนาดย่อชุดแรก เวลาเปิดเครื่องที่มีเวลาในการตอบสนองต่ำ และต่อด้วยบรรทัดแรกที่เหลือและ รวมถึงข้อความบทความสำหรับแต่ละบทความ ตั้งแต่ รายการพาดหัวหลัก
อีกทางเลือกหนึ่งคือการดึงข้อมูลพาดหัว ภาพขนาดย่อ ข้อความในบทความทั้งหมด และ แม้แต่ภาพบทความแบบเต็ม ซึ่งมักจะเป็นพื้นหลังบน กำหนดเวลาที่กำหนดไว้ล่วงหน้า แนวทางนี้มีความเสี่ยงที่จะใช้แบนด์วิดท์ปริมาณมากและ อายุการใช้งานแบตเตอรี่ของการดาวน์โหลดเนื้อหาที่ไม่เคยใช้งานมาก่อน คุณจึงควรใช้งานเนื้อหาดังกล่าว ด้วยความระมัดระวัง
ข้อควรพิจารณาเพิ่มเติม
การดึงข้อมูลล่วงหน้ามีประโยชน์หลายอย่าง แต่มีการใช้ในเชิงรุกมากเกินไป การดึงข้อมูลล่วงหน้ายังทำให้เกิดความเสี่ยงในการเพิ่มปริมาณการใช้แบตเตอรี่และแบนด์วิดท์ การใช้งาน รวมถึงโควต้าการดาวน์โหลดด้วยการดาวน์โหลดข้อมูลที่ไม่ได้ใช้ และยัง การตรวจสอบว่าการดึงข้อมูลล่วงหน้าจะไม่ทำให้การเริ่มต้นแอปพลิเคชันล่าช้าในขณะที่ แอปจะรอให้การดึงข้อมูลล่วงหน้าเสร็จสมบูรณ์ ในทางปฏิบัติ อาจหมายถึง การประมวลผลข้อมูลอย่างต่อเนื่อง หรือเริ่มการโอนติดต่อกันก่อน เพื่อการดาวน์โหลดและประมวลผลข้อมูลที่จำเป็นสำหรับการเริ่มต้นแอปพลิเคชัน ก่อน
ระดับการดึงข้อมูลล่วงหน้าของคุณจะขึ้นอยู่กับขนาดของข้อมูล ดาวน์โหลดและแนวโน้มที่จะมีการใช้งาน คำแนะนำคร่าวๆ ตาม ที่อธิบายก่อนหน้านี้สำหรับข้อมูลที่มีโอกาสใช้งาน 50% ภายในเซสชันผู้ใช้ปัจจุบัน โดยทั่วไปคุณสามารถดึงข้อมูลล่วงหน้าได้ประมาณ 6 วินาที (ประมาณ 1-2 เมกะไบต์) ก่อนต้นทุนที่อาจเกิดขึ้นจากการดาวน์โหลดที่ไม่ได้ใช้ ตรงกับค่าใช้จ่ายที่อาจประหยัดได้จากการที่ไม่ต้องดาวน์โหลดข้อมูลดังกล่าวเพื่อเริ่มต้น
กล่าวโดยทั่วไปคือ การดึงข้อมูลล่วงหน้าเป็นแนวทางปฏิบัติที่ดี โดยที่คุณเพียงแค่ ต้องเริ่มต้นการดาวน์โหลดอีกครั้งทุกๆ 2 ถึง 5 นาที และตามลำดับ 1 ไปยัง 5 เมกะไบต์
ตามหลักการนี้ การดาวน์โหลดขนาดใหญ่ เช่น ไฟล์วิดีโอ ควร มีการดาวน์โหลดเป็นช่วงๆ เป็นระยะๆ (ทุก 2-5 นาที) การดึงข้อมูลวิดีโอล่วงหน้าที่น่าจะดูได้ใน 2-3 นาทีต่อจากนี้
วิธีแก้ไขอย่างหนึ่งคือ ตั้งเวลาดาวน์โหลดแบบเต็มให้เกิดขึ้นเฉพาะเมื่อเชื่อมต่อกับ Wi-Fi และอาจรวมถึงเฉพาะเมื่ออุปกรณ์ชาร์จอยู่เท่านั้น WorkManager API รองรับกรณีการใช้งานนี้ทุกประการ เพื่อให้คุณจำกัดการทำงานในเบื้องหลัง จนกว่าอุปกรณ์จะตรงตามเกณฑ์ที่นักพัฒนาซอฟต์แวร์ระบุไว้ เช่น การชาร์จและ กำลังเชื่อมต่อกับ Wi-Fi
ตรวจสอบการเชื่อมต่อก่อนส่งคำขอ
การค้นหาสัญญาณมือถือเป็นหนึ่งในการดำเนินการที่ใช้พลังงานมากที่สุดใน
อุปกรณ์เคลื่อนที่ แนวทางปฏิบัติแนะนำสำหรับคำขอที่เริ่มต้นโดยผู้ใช้คือให้ตรวจหา
โดยใช้การเชื่อมต่อ
ConnectivityManager
ตามที่แสดงใน
ตรวจสอบสถานะการเชื่อมต่อและการเชื่อมต่อ
การจำกัดปริมาณเนื้อหา
หากไม่มีเครือข่าย แอปสามารถประหยัดแบตเตอรี่ได้โดยไม่บังคับให้ใช้วิทยุเคลื่อนที่
เพื่อค้นหาข้อมูล จากนั้นจะสามารถกำหนดเวลาและดำเนินการคำขอเป็นกลุ่มร่วมกับ
เมื่อมีการทำการเชื่อมต่อ
การเชื่อมต่อสระว่ายน้ำ
กลยุทธ์เพิ่มเติมที่ช่วยได้นอกเหนือจากการจัดกลุ่มและการดึงข้อมูลล่วงหน้าคือ เพื่อจัดกลุ่มการเชื่อมต่อเครือข่ายของแอป
โดยทั่วไปการนำการเชื่อมต่อเครือข่ายที่มีอยู่มาใช้ซ้ำจะมีประสิทธิภาพมากกว่าที่เป็นอยู่ เพื่อเริ่มเซสชันใหม่ การใช้การเชื่อมต่อซ้ำยังช่วยให้เครือข่ายทำสิ่งต่อไปนี้ได้ ตอบสนองต่อความแออัดและปัญหาเกี่ยวกับข้อมูลเครือข่ายที่เกี่ยวข้องได้อย่างชาญฉลาดยิ่งขึ้น
HttpURLConnection
และ HTTP ส่วนใหญ่
ไคลเอ็นต์ เช่น OkHttp จะเปิดใช้
การเชื่อมต่อพูลโดยค่าเริ่มต้น และใช้การเชื่อมต่อเดียวกันซ้ำสำหรับการเชื่อมต่อหลายรายการ
คำขอ
ทบทวนและมองไปข้างหน้า
ในส่วนนี้ คุณได้เรียนรู้มากมายเกี่ยวกับวิทยุไร้สายและกลยุทธ์บางประการ ซึ่งคุณสามารถนำไปใช้ในวงกว้างเพื่อมอบ ประสบการณ์ที่รวดเร็วและตอบสนองผู้ใช้ในขณะที่ ซึ่งช่วยลดการใช้แบตเตอรี่จนหมด
ในส่วนถัดไป เราจะอธิบายประเภท การโต้ตอบกับเครือข่ายต่างๆ ที่แอปส่วนใหญ่ใช้กัน คุณจะได้เรียนรู้ปัจจัยขับเคลื่อนของ รวมถึงเทคนิคสมัยใหม่และ API ในการจัดการ การโต้ตอบอย่างมีประสิทธิภาพ