ฟีเจอร์การจัดการพลังงานที่เปิดตัวใน Android 9 (API ระดับ 28) จะส่งผลต่อแอปทั้งหมดที่ทำงานในเวอร์ชันนี้ ไม่ว่าแอปจะกำหนดเป้าหมายเป็นเวอร์ชันนี้หรือไม่ก็ตาม คุณควรตรวจสอบว่าแอปทำงาน ได้อย่างถูกต้องในอุปกรณ์เหล่านี้
ทดสอบ Use Case หลักของแอปภายใต้เงื่อนไขที่หลากหลายเพื่อดูว่าฟีเจอร์การจัดการพลังงานทำงานร่วมกันอย่างไร คุณสามารถใช้คำสั่ง Android Debug Bridge (adb
) เพื่อเปิดและปิดฟีเจอร์บางอย่างได้
คำสั่ง Android Debug Bridge (adb)
คุณสามารถใช้adb
คำสั่งเชลล์เพื่อทดสอบฟีเจอร์การจัดการพลังงานหลายอย่างได้
ดูข้อมูลเกี่ยวกับการใช้ adb
เพื่อทำให้อุปกรณ์เข้าสู่โหมด Doze ได้ที่หัวข้อทดสอบด้วยโหมด Doze และโหมดสแตนด์บายแอป
ที่เก็บข้อมูลสแตนด์บายแอป
คุณสามารถใช้ adb
เพื่อกำหนดแอปไปยังที่เก็บข้อมูลสแตนด์บายแอปด้วยตนเองได้ หากต้องการเปลี่ยนที่เก็บข้อมูลของแอป ให้จำลองการถอดปลั๊กอุปกรณ์โดยใช้คำสั่งต่อไปนี้ก่อน
$ adb shell dumpsys battery unplug
ใช้คำสั่งต่อไปนี้เพื่อกำหนดแอปให้กับที่เก็บข้อมูลสแตนด์บาย
$ adb shell am set-standby-bucket packagename active|working_set|frequent|rare
คุณยังใช้คําสั่งก่อนหน้าเพื่อตั้งค่าหลายแพ็กเกจพร้อมกันได้ด้วย
$ adb shell am set-standby-bucket package1 bucket1 package2 bucket2...
หากต้องการตรวจสอบที่เก็บข้อมูลของแอป ให้เรียกใช้คำสั่งต่อไปนี้
$ adb shell am get-standby-bucket packagename
หากคุณไม่ได้ส่งพารามิเตอร์ packagename คำสั่งจะแสดงที่เก็บข้อมูลสําหรับแอปทั้งหมด
แอปยังดูที่เก็บข้อมูลขณะรันไทม์ได้ด้วยการเรียกใช้เมธอดใหม่ UsageStatsManager.getAppStandbyBucket()
ข้อจำกัดการทำงานในเบื้องหลัง
หากต้องการใช้การจำกัดการทำงานในเบื้องหลังด้วยตนเอง ให้เรียกใช้คำสั่งต่อไปนี้
$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND ignore
หากต้องการนำการจำกัดในเบื้องหลังออก ให้เรียกใช้คำสั่งต่อไปนี้
$ adb shell cmd appops set packagename RUN_ANY_IN_BACKGROUND allow
ประหยัดแบตเตอรี่
มีหลายคำสั่งที่ใช้ทดสอบลักษณะการทํางานของแอปในโหมดพลังงานต่ำ
หากต้องการจำลองการถอดปลั๊กอุปกรณ์ ให้ใช้คำสั่งต่อไปนี้
$ adb shell dumpsys battery unplug
หากต้องการทดสอบลักษณะการทํางานของอุปกรณ์ในสภาพพลังงานต่ำ ให้ใช้คําสั่งต่อไปนี้
$ adb shell settings put global low_power 1
หลังจากทดสอบเสร็จแล้ว คุณสามารถยกเลิกการตั้งค่าอุปกรณ์ด้วยตนเองได้โดยใช้คำสั่งต่อไปนี้
$ adb shell dumpsys battery reset