WorkManager เป็นหนึ่งในส่วนประกอบสถาปัตยกรรม Androidและเป็นส่วนหนึ่งของ Android Jetpack ซึ่งเป็นแนวทางใหม่และมีความคิดเห็นเกี่ยวกับวิธีสร้างแอปพลิเคชัน Android ที่ทันสมัย
WorkManager เป็นไลบรารี Android ที่รันการทำงานเบื้องหลังที่เลื่อนออกไปได้เมื่อพอใจข้อ จำกัดของงาน
WorkManager มีไว้สำหรับงานที่ต้องมีการรับประกันว่าระบบจะเรียกพวกเขาแม้ว่าแอปทางออก s
กล่าวอีกนัยหนึ่ง WorkManager มี API ที่เป็นมิตรกับแบตเตอรี่ซึ่งสรุปวิวัฒนาการหลายปีของข้อ จำกัด พฤติกรรมเบื้องหลังของ Android นี่เป็นสิ่งสำคัญสำหรับแอปพลิเคชัน Android ที่ต้องทำงานเบื้องหลัง!
WorkManager จัดการงานเบื้องหลังที่ต้องทำงานเมื่อมีข้อ จำกัด ต่างๆไม่ว่าขั้นตอนการสมัครจะมีชีวิตอยู่หรือไม่ก็ตาม งานพื้นหลังสามารถเริ่มทำงานได้เมื่อแอปอยู่ในพื้นหลังเมื่อแอปอยู่เบื้องหน้าหรือเมื่อแอปเริ่มทำงานในเบื้องหน้า แต่ไปที่พื้นหลัง ไม่ว่าแอปพลิเคชันจะทำอะไรงานเบื้องหลังควรดำเนินการต่อไปหรือเริ่มต้นใหม่หาก Android ฆ่ากระบวนการ
ความสับสนที่พบบ่อยเกี่ยวกับ WorkManager คือสำหรับงานที่ต้องรันในเธรด "พื้นหลัง" แต่ไม่จำเป็นต้องรอดจากกระบวนการตาย กรณีนี้ไม่ได้. มีโซลูชันอื่น ๆ สำหรับกรณีการใช้งานนี้เช่นโครูทีนของ Kotlin, ThreadPools หรือไลบรารีเช่น RxJava คุณสามารถค้นหาข้อมูลเพิ่มเติมเกี่ยวกับกรณีการใช้งานนี้ในคู่มือในการประมวลผลพื้นหลัง
มีหลายสถานการณ์ที่คุณต้องเรียกใช้งานเบื้องหลังดังนั้นวิธีแก้ปัญหาที่แตกต่างกันสำหรับการทำงานเบื้องหลัง โพสต์บล็อกนี้เกี่ยวกับการประมวลผลเบื้องหลังให้ข้อมูลที่ดีมากมายเกี่ยวกับเวลาที่ควรใช้ WorkManager ดูแผนภาพนี้จากบล็อก:
ในกรณีของ WorkManager ดีที่สุดสำหรับงานเบื้องหลังที่ต้องเสร็จสิ้นและเลื่อนเวลาได้
ในการเริ่มต้นให้ถามตัวเองว่า
WorkManager สามารถและควรจับคู่กับ API อื่น ๆ เมื่อคุณต้องการทริกเกอร์การทำงานเบื้องหลังบางอย่างในสถานการณ์ที่ซับซ้อนมากขึ้น:
WorkManager ทำงานเบื้องหลังในขณะที่ดูแลปัญหาความเข้ากันได้และแนวทางปฏิบัติที่ดีที่สุดสำหรับความสมบูรณ์ของแบตเตอรี่และระบบสำหรับคุณ
นอกจากนี้เมื่อใช้ WorkManager คุณสามารถกำหนดเวลาได้ทั้งงานตามระยะเวลาและกลุ่มของงานที่ซับซ้อนขึ้นอยู่กับงาน: งานพื้นหลังสามารถดำเนินการแบบขนานหรือตามลำดับซึ่งคุณสามารถระบุลำดับการดำเนินการได้ WorkManager จัดการการส่งผ่านอินพุตและเอาต์พุตระหว่างงานได้อย่างราบรื่น
คุณยังสามารถกำหนดเกณฑ์ว่าจะให้งานเบื้องหลังทำงานเมื่อใด ตัวอย่างเช่นไม่มีเหตุผลที่จะส่งคำขอ HTTP ไปยังเซิร์ฟเวอร์ระยะไกลหากอุปกรณ์ไม่มีการเชื่อมต่อเครือข่าย ดังนั้นคุณสามารถตั้งค่าข้อ จำกัด ที่งานจะทำงานได้เมื่อมีการเชื่อมต่อเครือข่ายเท่านั้น
ในฐานะที่เป็นส่วนหนึ่งของการรับประกันการดำเนินการ WorkManager จะดูแลการทำงานของคุณต่อไปในอุปกรณ์หรือการรีสตาร์ทแอปพลิเคชัน คุณยังสามารถกำหนดกลยุทธ์การลองใหม่ได้อย่างง่ายดายหากงานของคุณหยุดลงและคุณต้องการลองใหม่ในภายหลัง
สุดท้าย WorkManager ช่วยให้คุณสามารถสังเกตสถานะของคำของานเพื่อให้คุณสามารถอัปเดต UI ของคุณได้
สรุปได้ว่า WorkManager มีประโยชน์ดังต่อไปนี้:
เราสามารถกำหนดชุดข้อ จำกัด สำหรับงานเหล่านี้และระบุเวลาที่จะดำเนินการได้:
คนงานทั้งหมดเหล่านี้กำหนดลำดับที่แม่นยำเช่นเราไม่รู้ลำดับที่จะกรองภาพ แต่เรารู้ว่าโปรแกรมบีบอัดจะเริ่มทำงานหลังจากที่คนงานกรองเสร็จสมบูรณ์แล้วเท่านั้น
เพื่อให้แน่ใจว่าเข้ากันได้กลับไปที่ API ระดับ 14 WorkManager เลือกวิธีที่เหมาะสมในการกำหนดเวลางานเบื้องหลังโดยขึ้นอยู่กับระดับ API ของอุปกรณ์ WorkManager อาจใช้ JobScheduler หรือการรวมกันของ BroadcastReceiver และ AlarmManager
ขณะนี้ WorkManager เป็นรุ่นเบต้า ซึ่งหมายความว่าจะไม่มีการเปลี่ยนแปลง API ที่ไม่สมบูรณ์ในการแก้ไขครั้งใหญ่นี้
เมื่อ WorkManager ถูกปล่อยให้มีความเสถียรจะเป็นวิธีที่ต้องการในการเรียกใช้งานพื้นหลัง ด้วยเหตุนี้นี่จึงเป็นช่วงเวลาที่ดีในการเริ่มใช้ WorkManager และช่วยปรับปรุง !
ขอขอบคุณที่Lyla ฟูจิวาระ
มาดำดิ่งสู่โลกของสถาปัตยกรรมการพัฒนา Android กันเถอะ ในคู่มือฉบับสมบูรณ์นี้ เราจะสำรวจรูปแบบสถาปัตยกรรม เฟรมเวิร์ก และแนวทางปฏิบัติที่ดีที่สุดต่างๆ เพื่อช่วยคุณสร้างแอปพลิเคชัน Android ที่มีประสิทธิภาพ ปรับขนาดได้ และบำรุงรักษาได้
คำแนะนำทีละขั้นตอนในการโยกย้ายจาก Dagger ไปยัง Hilt ในโครงการหลายโมดูล โครงสร้างโครงการ เพื่อให้เห็นภาพโครงการ ประกอบด้วยโมดูลหลายโมดูล NetworkModule, StorageModule, CommonModule, FeatureModule เป็นต้น
มันทำให้ฉันประหลาดใจ ทันใดนั้นมันก็เกิดขึ้นบ่อยๆ มันอยู่กลางทางอีกครั้ง <ไม่ ไม่ใช่คนในมหาสมุทรแปซิฟิก คุณเป็นสีน้ำตาลแดง คนที่งานคาร์นิวัล> ทุกพาดหัวข่าวดัง…..
การเปลี่ยนอาชีพใหม่อาจเป็นเรื่องที่ท้าทายอย่างยิ่งหากคุณพยายามทำคนเดียว สิ่งสำคัญคือต้องหาพันธมิตรที่มีความรับผิดชอบซึ่งอยู่ในระดับการเรียนรู้เดียวกันกับคุณ ซึ่งมีเป้าหมาย ความดื้อรั้น และแรงผลักดันที่คล้ายคลึงกัน
ในปี 2022 ด้วยการเปิดตัว GPT-3 ทักษะการเขียนดูเหมือนจะมีความสำคัญน้อยลง ด้วย AI คนที่เขียนไม่ดีก็สามารถสร้างพนักงานที่มีคุณภาพได้เช่นกัน
หากเราต้องการจะเติบโตบนโลกใบนี้ต่อไป เราจะต้องสนทนาที่อันตราย คนที่ท้าทายสิ่งที่เราทำ สิ่งที่เรากำลังทำ และสิ่งที่เรากำลังจะทำต่อไป (หรือกำลังวางแผนที่จะทำ)