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

ฟีเจอร์การจัดการพลังงานที่เปิดตัวใน 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