ทดสอบปัญหาเกี่ยวกับพลังงาน

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

ทดสอบกรณีการใช้งานหลักของแอปภายใต้เงื่อนไขต่างๆ เพื่อดูว่าการจัดการพลังงาน ที่มีการโต้ตอบกัน คุณสามารถใช้Android คำสั่ง Debug Bridge (adb) เพื่อเปิดและปิดฟีเจอร์บางอย่าง

คำสั่ง Android Debug Bridge (adb)

คุณสามารถใช้คำสั่ง Shell 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