เพิ่มประสิทธิภาพการเข้าถึงเครือข่าย

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

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

เครื่องกำหนดสถานะวิทยุ

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

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

เครื่องสถานะของวิทยุเครือข่าย 3G โดยทั่วไปจะมีสถานะพลังงาน 3 สถานะดังนี้

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

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

โดยเครื่องสถานะจะใช้การหน่วงเวลาเพื่อเลื่อนการเปลี่ยนเพื่อลดเวลาในการตอบสนอง เป็นสถานะพลังงานลดลง รูปที่ 1 ใช้เวลาของ AT&T สำหรับวิทยุ 3G ทั่วไป


รูปที่ 1 เครื่องสถานะวิทยุไร้สาย 3G ทั่วไป

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

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

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

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

แอปมีผลต่อเครื่องสถานะวิทยุอย่างไร

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

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


รูปที่ 2 การใช้พลังงานวิทยุไร้สายแบบสัมพัทธ์สำหรับการดำเนินการโอนใน 1 วินาที 3 ครั้งในทุกๆ นาที รูปไม่รวมคำว่า "เพิ่มพลัง" เวลาในการตอบสนองระหว่างการเรียกใช้

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


รูปที่ 3 การใช้พลังงานวิทยุไร้สายแบบสัมพัทธ์สำหรับการโอน 3 วินาที ทำงาน 1 ครั้งต่อ 1 นาที

เทคนิคการเพิ่มประสิทธิภาพ

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

การโอนข้อมูลแบบกลุ่ม

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

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

ดึงข้อมูลล่วงหน้า

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

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

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

ต่อไปนี้เป็นตัวอย่างที่นำไปปฏิบัติได้จริง

โปรแกรมอ่านข่าว

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

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

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

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

ข้อควรพิจารณาเพิ่มเติม

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

ระดับการดึงข้อมูลล่วงหน้าของคุณจะขึ้นอยู่กับขนาดของข้อมูล ดาวน์โหลดและแนวโน้มที่จะมีการใช้งาน คำแนะนำคร่าวๆ ตาม ที่อธิบายก่อนหน้านี้สำหรับข้อมูลที่มีโอกาสใช้งาน 50% ภายในเซสชันผู้ใช้ปัจจุบัน โดยทั่วไปคุณสามารถดึงข้อมูลล่วงหน้าได้ประมาณ 6 วินาที (ประมาณ 1-2 เมกะไบต์) ก่อนต้นทุนที่อาจเกิดขึ้นจากการดาวน์โหลดที่ไม่ได้ใช้ ตรงกับค่าใช้จ่ายที่อาจประหยัดได้จากการที่ไม่ต้องดาวน์โหลดข้อมูลดังกล่าวเพื่อเริ่มต้น

กล่าวโดยทั่วไปคือ การดึงข้อมูลล่วงหน้าเป็นแนวทางปฏิบัติที่ดี โดยที่คุณเพียงแค่ ต้องเริ่มต้นการดาวน์โหลดอีกครั้งทุกๆ 2 ถึง 5 นาที และตามลำดับ 1 ไปยัง 5 เมกะไบต์

ตามหลักการนี้ การดาวน์โหลดขนาดใหญ่ เช่น ไฟล์วิดีโอ ควร มีการดาวน์โหลดเป็นช่วงๆ เป็นระยะๆ (ทุก 2-5 นาที) การดึงข้อมูลวิดีโอล่วงหน้าที่น่าจะดูได้ใน 2-3 นาทีต่อจากนี้

วิธีแก้ไขอย่างหนึ่งคือ ตั้งเวลาดาวน์โหลดแบบเต็มให้เกิดขึ้นเฉพาะเมื่อเชื่อมต่อกับ Wi-Fi และอาจรวมถึงเฉพาะเมื่ออุปกรณ์ชาร์จอยู่เท่านั้น WorkManager API รองรับกรณีการใช้งานนี้ทุกประการ เพื่อให้คุณจำกัดการทำงานในเบื้องหลัง จนกว่าอุปกรณ์จะตรงตามเกณฑ์ที่นักพัฒนาซอฟต์แวร์ระบุไว้ เช่น การชาร์จและ กำลังเชื่อมต่อกับ Wi-Fi

ตรวจสอบการเชื่อมต่อก่อนส่งคำขอ

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

การเชื่อมต่อสระว่ายน้ำ

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

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

HttpURLConnection และ HTTP ส่วนใหญ่ ไคลเอ็นต์ เช่น OkHttp จะเปิดใช้ การเชื่อมต่อพูลโดยค่าเริ่มต้น และใช้การเชื่อมต่อเดียวกันซ้ำสำหรับการเชื่อมต่อหลายรายการ คำขอ

ทบทวนและมองไปข้างหน้า

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

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