เมื่อใดควรใช้ WorkManager
เลือกเครื่องมือทำงานเบื้องหลังที่เหมาะสม
เมื่อใดควรใช้ WorkManager เป็นบทเรียน Android Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Android Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Android Academy มีบทเรียนทั้งหมด 4 บทเรียน
เมื่อใดควรใช้ WorkManager
WorkManager เป็น API ที่แนะนำสำหรับงานเบื้องหลังบน Android ที่ เลื่อนได้และรับประกันว่าจะทำงาน หากงานต้องทำในท้ายที่สุด แม้แอปจะปิดหรืออุปกรณ์รีบูต WorkManager คือเครื่องมือที่เหมาะสม
เลื่อนได้และรับประกันว่าจะทำงาน
คำสำคัญสองคำนี้กำหนดขอบเขตการใช้งานของ WorkManager:
- เลื่อนได้: ไม่จำเป็นต้องทำงานทันที สามารถรอเงื่อนไขที่เหมาะสมได้
- รับประกันว่าจะทำงาน: งานจะทำงานในท้ายที่สุด แม้แอปจะปิดหรืออุปกรณ์รีบูต
กรณีการใช้งานที่เหมาะสม
WorkManager เหมาะกับงานเช่น:
- อัปโหลดบันทึกการทำงานหรือข้อมูลวิเคราะห์
- ซิงค์ข้อมูลกับเซิร์ฟเวอร์
- สำรองข้อมูลเป็นระยะ
- บีบอัดหรือประมวลผลภาพ
งานทั้งหมดนี้รอได้และต้องไม่สูญหาย
เมื่อใดไม่ควรใช้
WorkManager ไม่เหมาะกับงานต่อไปนี้:
- งาน ทันที ในแอปที่ผูกกับหน้าจอปัจจุบัน: ใช้คอร์รูทีนใน
viewModelScope - การปลุกให้ทำงานใน เวลาที่แน่นอน: ใช้
AlarmManager - งานระยะยาวที่ ผู้ใช้เริ่มและต้องทำให้เสร็จทันที: พิจารณาใช้บริการเบื้องหน้า
เคารพสุขภาพของระบบ
WorkManager จัดกลุ่มและเลื่อนงานเพื่อให้สอดคล้องกับโหมดพักเครื่อง แบตเตอรี่ และข้อจำกัดเบื้องหลัง คุณระบุข้อกำหนด แล้วระบบจะเลือกเวลาที่มีประสิทธิภาพเพื่อทำงานและช่วยประหยัดแบตเตอรี่
ข้อจำกัดควบคุมการทำงาน
คุณแนบ ข้อจำกัด เช่น "เฉพาะบนเครือข่ายที่ไม่คิดค่าบริการตามปริมาณข้อมูล" หรือ "เฉพาะขณะกำลังชาร์จ" ได้ WorkManager จะรอจนกว่าจะตรงตามเงื่อนไขเหล่านั้นก่อนเริ่มงาน
จัดการการคงอยู่ของงาน
WorkManager จัดเก็บคิวงานไว้ในฐานข้อมูลภายใน หากแอปถูกปิดหรือโทรศัพท์รีสตาร์ต งานที่กำหนดเวลาไว้จะถูกกู้คืนและยังคงทำงาน คุณได้รับความสามารถนี้โดยไม่ต้องทำอะไรเพิ่มเติม
ทำครั้งเดียวเทียบกับทำเป็นระยะ
WorkManager รองรับงานสองรูปแบบ:
- OneTimeWorkRequest: ทำงานครั้งเดียว
- PeriodicWorkRequest: ทำซ้ำตามช่วงเวลา (อย่างน้อย 15 นาที)
การลองใหม่ในตัว
หากงานล้มเหลวชั่วคราว การส่งคืน Result.retry() จะบอกให้ WorkManager ลองใหม่ในภายหลังโดยใช้นโยบายหน่วงเวลา คุณจึงไม่ต้องเขียนตรรกะสำหรับการลองใหม่เอง
การเพิ่มส่วนอ้างอิง
เพิ่มอาร์ติแฟกต์ขณะทำงานของ WorkManager (พร้อมการรองรับคอร์รูทีนจาก KTX) ลงในไฟล์ Gradle ของโมดูล
dependencies {
implementation("androidx.work:work-runtime-ktx:2.9.1")
}แนวคิดในภาพรวม
ลองนึกภาพ WorkManager เป็นรายการสิ่งที่ต้องทำที่เชื่อถือได้สำหรับงานเบื้องหลัง: คุณเพิ่มงานพร้อมเงื่อนไข แล้วระบบจะรับรองว่าจะทำงานให้เสร็จในเวลาที่เหมาะสม แม้จะมีเหตุขัดข้องระหว่างทาง
ตรวจสอบความเข้าใจอย่างรวดเร็ว
ทดสอบความเข้าใจเกี่ยวกับเวลาที่ควรใช้ WorkManager
สรุปทบทวน
คุณได้เรียนรู้จุดประสงค์ของ WorkManager ดังนี้:
- ทำงานเบื้องหลังที่ เลื่อนได้และรับประกันว่าจะทำงาน
- เหมาะอย่างยิ่งกับการซิงค์ การอัปโหลด และการสำรองข้อมูล แต่ไม่เหมาะกับงานทันทีหรืองานที่ต้องทำในเวลาที่แน่นอน
- คงงานไว้ได้แม้แอปจะปิดหรืออุปกรณ์รีบูต เคารพข้อจำกัดด้านแบตเตอรี่ และลองใหม่ได้
- รองรับงานครั้งเดียวและงานเป็นระยะพร้อมข้อจำกัด
ถัดไป: การสร้าง Worker
คำถามที่พบบ่อย
บทเรียน “เมื่อใดควรใช้ WorkManager” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เมื่อใดควรใช้ WorkManager” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Android Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Android Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เมื่อใดควรใช้ WorkManager”
เลือกเครื่องมือทำงานเบื้องหลังที่เหมาะสม คุณปฏิบัติ Android Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Android Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Android Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “เมื่อใดควรใช้ WorkManager” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Android Academy นี้ได้ไหม
ได้ บทเรียน Android Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เมื่อใดควรใช้ WorkManager
- การสร้าง Worker
- ข้อจำกัดและการกำหนดเวลา
- งานแบบเป็นช่วงและแบบต่อเนื่อง