ขีดจำกัดของทรัพยากรการจัดการพลังงาน

ระบบจะจัดลำดับความสำคัญของคําขอทรัพยากรของแอปตามสถานะของอุปกรณ์ สถานะแอป และที่เก็บข้อมูลสแตนด์บายของแอป

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

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

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

คุณสามารถอ่านเพื่อทำความเข้าใจข้อจำกัดเพิ่มเติมได้จากบทความต่อไปนี้

  1. ขีดจำกัดทรัพยากรตามสถานะของอุปกรณ์
  2. ขีดจํากัดทรัพยากรตามสถานะแอป
  3. ขีดจํากัดทรัพยากรตามที่เก็บข้อมูลสแตนด์บายของแอป

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

มีการเปลี่ยนแปลงลักษณะการทำงานที่ส่งผลต่อขีดจํากัดของทรัพยากรด้วย ดูข้อมูลเพิ่มเติมได้จากการเปลี่ยนแปลงลักษณะการทํางานของ Android ที่ส่งผลต่อขีดจํากัดของทรัพยากร

ขีดจำกัดทรัพยากรตามสถานะของอุปกรณ์

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

สถานะของอุปกรณ์

งาน

การปลุก

การเข้าถึงเครือข่าย

การรับส่งข้อความในระบบคลาวด์ของ Firebase

การชาร์จ

ไม่มีขีดจํากัดการดําเนินการ ยกเว้นที่เก็บข้อมูลสแตนด์บายที่ถูกจํากัด

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

ไม่มีข้อจำกัด

ไม่มีข้อจำกัด

เปิดหน้าจอ

ระบบจะบังคับใช้ขีดจํากัดการดําเนินการตามที่เก็บข้อมูลสแตนด์บาย

ระบบจะบังคับใช้ขีดจํากัดการเรียกใช้ตามกระบวนการของแอปและที่เก็บข้อมูลสแตนด์บาย

สิทธิ์เข้าถึงจะขึ้นอยู่กับสถานะกลุ่มรอหรือสถานะกระบวนการของแอป

ไม่มีข้อจำกัด

หน้าจอปิดอยู่และโหมดสลีปทำงานอยู่

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

ระบบจะบังคับใช้ขีดจํากัดการดําเนินการตามที่เก็บข้อมูลสแตนด์บาย

การปลุกตามปกติ: เลื่อนไปไว้ที่ช่วงเวลาบำรุงรักษาโหมดสลีป

การปลุกขณะไม่มีการใช้งาน: จำกัดไว้ที่ 7 ครั้งต่อชั่วโมง

ถูกจำกัดระหว่างโหมดสลีป

สำคัญสูง: ไม่มีขีดจํากัดการดําเนินการ

ความสำคัญปกติ: เลื่อนไปไว้ที่ช่วงเวลาบำรุงรักษาโหมดสลีป

ขีดจํากัดทรัพยากรตามสถานะแอป

การที่ระบบจะบังคับใช้ขีดจำกัดทรัพยากรของที่เก็บข้อมูลสแตนด์บายแอปหรือไม่นั้นขึ้นอยู่กับความสำคัญของกระบวนการของแอป ดูหัวข้อ ActivityManager.RunningAppProcessInfo.importance เพื่อทำความเข้าใจความสำคัญของกระบวนการในระดับต่างๆ

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

สถานะแอป

งาน

การปลุก

เครือข่าย

กระบวนการของแอปแสดงอยู่หรืออยู่ในสถานะเบื้องหน้า

ไม่มีขีดจํากัดการดําเนินการ

ไม่มีขีดจํากัดความถี่

ไม่มีข้อจำกัด

กระบวนการของแอปกำลังเรียกใช้บริการที่ทำงานอยู่เบื้องหน้า

ระบบจะบังคับใช้ขีดจํากัดการดําเนินการตามที่เก็บข้อมูลสแตนด์บาย***

ระบบจะบังคับใช้ขีดจํากัดความถี่ตามกลุ่มโฆษณาสแตนด์บาย

ไม่มีข้อจำกัด

ผู้ใช้จำกัดแบตเตอรี่ของแอปด้วยตนเอง

การดําเนินการถูกจํากัด

การดําเนินการถูกจํากัด

การเข้าถึงจะขึ้นอยู่กับลักษณะการทํางานของที่เก็บข้อมูลสแตนด์บาย

ผู้ใช้เลิกจำกัดแบตเตอรี่ของแอปด้วยตนเอง

ขีดจํากัดการดําเนินการมีมากพอ***

ไม่มีขีดจํากัดการดําเนินการ

ไม่จำกัด เว้นแต่อุปกรณ์จะอยู่ในโหมดประหยัดอินเทอร์เน็ต

*** ลักษณะการทํางานของโควต้าการเรียกใช้สําหรับงานมีการเปลี่ยนแปลงใน Android 16 ก่อนที่จะมี Android 16 จะไม่มีขีดจำกัดการเรียกใช้เมื่อแอปทำงานเป็นบริการที่ทำงานอยู่เบื้องหน้าหรือผู้ใช้ไม่ได้จำกัดแบตเตอรี่ของแอป

ขีดจำกัดทรัพยากรตามที่เก็บข้อมูลสแตนด์บายของแอป

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

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

โปรดทราบว่าตั้งแต่ Android 13 เป็นต้นไป กลุ่มรอของแอปจะไม่กำหนดจำนวน FCM สำคัญสูงที่แอปใช้ได้อีกต่อไป

ที่เก็บข้อมูลสแตนด์บายแอป

งานประจำ*

งานด่วน**

การปลุก

เครือข่าย

ใช้งาน:

สูงสุด 20 นาทีในช่วง 60 นาทีที่ผ่านมา***

ไม่เกิน 30 นาทีในช่วง 24 ชั่วโมงที่ผ่านมา***

ไม่มีขีดจํากัดการดําเนินการ

ไม่มีข้อจำกัด

ชุดที่ทำงาน:

ไม่เกิน 10 นาทีในช่วง 4 ชั่วโมงที่ผ่านมา

ไม่เกิน 15 นาทีในช่วง 24 ชั่วโมงที่ผ่านมา

จำกัดสูงสุด 10 รายการต่อชั่วโมง

ไม่มีข้อจำกัด

บ่อยครั้ง

สูงสุด 10 นาทีในช่วง 12 ชั่วโมงที่ผ่านมา

สูงสุด 10 นาทีในช่วง 24 ชั่วโมงที่ผ่านมา

จำกัดสูงสุด 2 ครั้งต่อชั่วโมง

ไม่มีข้อจำกัด

พบน้อย

สูงสุด 10 นาทีในช่วง 24 ชั่วโมงที่ผ่านมา

สูงสุด 10 นาทีในช่วง 24 ชั่วโมงที่ผ่านมา

จำกัด 1 ครั้งต่อชั่วโมง

ปิดอยู่

จำกัด

1 ครั้งต่อวันไม่เกิน 10 นาที

สูงสุด 5 นาทีในกรอบเวลา 24 ชั่วโมง

การปลุก 1 ครั้งต่อวัน ซึ่งอาจเป็นการปลุกในเวลาที่แน่นอนหรือการปลุกในเวลาที่ไม่แน่นอน

ปิดอยู่

* งานทั่วไปจะอธิบายงานที่ไม่ได้ใช้ Flag setUserInitiated(true) หรือ setExpedited(true) ใน JobScheduler หรือ Worker ที่เร่งความเร็วใน WorkManager

** งานเร่งด่วนมีขีดจํากัดการดําเนินการแยกต่างหากจากงานปกติ โดยสามารถกําหนดค่าใน WorkManager ให้ทํางานต่อไปโดยใช้ขีดจํากัดการดําเนินงานของงานปกติได้เมื่อใช้ขีดจํากัดการเร่งด่วนจนหมด

*** ลักษณะการทํางานของโควต้าการเรียกใช้สําหรับงานมีการเปลี่ยนแปลงใน Android 16 ก่อนที่จะมี Android 16 นั้นไม่มีการจํากัดการเรียกใช้เมื่อแอปอยู่ในกลุ่มสแตนด์บายที่ใช้งานอยู่

การเปลี่ยนแปลงลักษณะการทํางานของ Android ที่ส่งผลต่อขีดจํากัดของทรัพยากร

การอัปเดต Android ต่อไปนี้ทำการเปลี่ยนแปลงขีดจำกัดทรัพยากรของแอป

Android 16

การเปลี่ยนแปลงลักษณะการทํางานของการเพิ่มประสิทธิภาพโควต้า JobScheduler

Android ได้ปรับโควต้ารันไทม์ของงานแบบปกติและแบบเร่งด่วนตามปัจจัยต่อไปนี้

  1. ที่เก็บข้อมูลสแตนด์บายแอปที่แอปอยู่
  2. หากงานเริ่มทํางานขณะที่แอปอยู่ในสถานะด้านบน
  3. หากงานกำลังดำเนินการขณะเรียกใช้บริการที่ทำงานอยู่เบื้องหน้า

Android 13

การเปลี่ยนแปลงลักษณะการทำงานของโควต้า Firebase Cloud Messaging (FCM) ที่มีลำดับความสำคัญสูง

Android 9

เปิดตัวฟีเจอร์ที่เก็บข้อมูลสแตนด์บายแอป

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