Android Archiเทคนิค: เลเยอร์แอปพลิเคชัน กรอบงาน ส่วนประกอบ
Android ระบบปฏิบัติการรุ่นแรกเปิดตัวในปี 2008 แม้ในช่วงเริ่มต้น ทีมงานเบื้องหลังระบบปฏิบัติการได้สร้างมันขึ้นมาบนไหล่ของยักษ์ใหญ่ นอกเหนือจากอินเทอร์เฟซผู้ใช้แล้ว Android OS แสดงในระดับพื้นผิว ประกอบด้วยหลายชั้น เลเยอร์เหล่านี้ประกอบด้วยโค้ดที่กำหนดเองและเทคโนโลยีโอเพ่นซอร์สที่ได้รับการพัฒนาอย่างต่อเนื่องมานานหลายทศวรรษ
Android ได้รับการพัฒนาผ่านความพยายามและการลงทุนร่วมกันอย่างมหาศาลจากบริษัทต่างๆ มากมาย บริษัทหลักที่อยู่เบื้องหลังการพัฒนา Android คือ Google บริษัทอื่นๆ ได้แก่ ผู้ผลิตอุปกรณ์ เช่น Samsung, LG ผู้ผลิตโปรเซสเซอร์ เช่น Intel และ ARM เป็นต้น
เมื่อเราพูดถึง Android สถาปัตยกรรม เราหมายถึงวิธีการ Android ระบบได้รับการออกแบบ แบ่งเป็นชั้นๆ และสร้างขึ้นเพื่อให้ทำงานเป็นระบบ การสร้างระบบที่ซับซ้อนดังกล่าวต้องมีการจัดโครงสร้างอย่างรอบคอบเพื่อให้แน่ใจว่าส่วนประกอบทั้งหมดทำงานร่วมกันอย่างสอดประสาน สถาปัตยกรรมของระบบช่วยให้มั่นใจได้ว่าส่วนประกอบต่างๆ จำนวนมากทำงานเป็นหนึ่งเดียวโดยไม่เกิดการขัดข้อง
เลเยอร์
ต่อไปนี้คือชั้นต่างๆ ที่ประกอบกันเป็น Android สถาปัตยกรรมตามที่ระบุไว้บนแผนภาพ:
- การใช้งาน
- กรอบแอ็พพลิเคชัน
- Android รันไทม์และไลบรารีหลัก
- ลินุกซ์เคอร์เนล
การพัฒนาระบบปฏิบัติการสำหรับอุปกรณ์พกพาต้องเผชิญกับความท้าทายหลายประการ การใช้สถาปัตยกรรมแบบแบ่งชั้นนี้จะช่วยให้ปัญหาต่างๆ ได้รับการแก้ไขและแยกย่อยในระดับต่างๆ
สถาปัตยกรรมแบบแบ่งชั้นช่วยแยกปัญหาต่างๆ ออกจากกันและช่วยให้ผู้พัฒนาซอฟต์แวร์ Android ไม่ต้องจัดการกับปัญหาในระดับต่ำในทุกๆ ขั้นตอน พวกเขาสามารถมุ่งเน้นไปที่การส่งมอบมูลค่าทางธุรกิจที่เกี่ยวข้องกับชั้นที่พวกเขากำลังดำเนินการอยู่ได้
นักพัฒนาซอฟต์แวร์กำลังทำงานเพื่อสร้างแอปโดยไม่ต้องกังวลกับการนำเฟรมเวิร์กของแอปพลิเคชันไปใช้ งานนั้นเหลือไว้สำหรับนักพัฒนาระบบที่ทำงานเกี่ยวกับกรอบงานแอปพลิเคชัน
นักพัฒนา Application Framework จะทำงานบนประสบการณ์ของนักพัฒนาและไม่ต้องกังวลเกี่ยวกับไดรเวอร์ระดับต่ำ วิศวกรระบบระดับต่ำสามารถมุ่งเน้นเฉพาะส่วนประกอบระดับต่ำ เช่น บลูทูธ หรือไดรเวอร์เสียง เป็นต้น
Androidโครงสร้างแบบเลเยอร์ทำให้สามารถใช้การอัปเดตพร้อมการแก้ไขข้อบกพร่องหรือการปรับปรุงแต่ละเลเยอร์ได้ด้วยตัวเอง เพื่อให้แน่ใจว่าการเปลี่ยนแปลงระหว่างเลเยอร์จะไม่รบกวนซึ่งกันและกัน ซึ่งช่วยให้ผู้ที่ทำงานในระดับ OS ที่แตกต่างกันสามารถทำงานโดยขัดขวางซึ่งกันและกันเมื่อมีการอัปเดตและออกเวอร์ชันใหม่
Android การใช้งาน
นี่คือเลเยอร์ที่ผู้ใช้ปลายทางโต้ตอบด้วย อยู่ในเลเยอร์นี้ที่นักพัฒนาแอปพลิเคชันเผยแพร่แอปพลิเคชันของตนเพื่อทำงาน
Androidโดยค่าเริ่มต้นจะมาพร้อมกับชุดแอปพลิเคชันที่ทำให้สามารถใช้อุปกรณ์ Android ได้ทันที
- หน้าแรก: หน้าแรกบน Android ประกอบด้วยไอคอนตัวเรียกใช้งานสำหรับแอปพลิเคชันที่ใช้กันทั่วไปซึ่งผู้ใช้อาจต้องการเข้าถึงอย่างรวดเร็ว คุณสามารถเริ่มแอปได้โดยคลิกที่ตัวเรียกใช้งานแอปเหล่านี้ ที่ด้านบนสุดของหน้าจอ คุณจะมีวิดเจ็ตที่แสดงเครือข่าย ระดับแบตเตอรี่ วันที่ และเวลา
- ติดต่อ: Androidตามค่าเริ่มต้น จะให้วิธีในการจัดเก็บและเรียกข้อมูลผู้ติดต่อ ข้อมูลการติดต่อจะถูกแชร์ในแอพอื่นๆ เพื่อปรับปรุงฟังก์ชันการทำงาน
- ข้อความ: Android ให้ความสามารถในการส่งและรับข้อความ SMS
- อีเมล: Android มาพร้อมกับการสนับสนุนดั้งเดิมสำหรับบริการอีเมล การตั้งค่า Android อุปกรณ์นี้ต้องมีบัญชี Gmail การตั้งค่า Gmail จะเปิดใช้งานส่วนประกอบอื่นๆ ที่เกี่ยวข้องกับอีเมล Android อุปกรณ์ คุณสมบัติบางอย่างที่ขึ้นอยู่กับอีเมลรวมถึงกลไกการรักษาความปลอดภัยและการกู้คืน คุณสมบัติอื่นที่ขึ้นอยู่กับอีเมลคือการเข้าถึง Play Store ซึ่งเป็นตลาดสำหรับ Android การใช้งาน
- เบราว์เซอร์: Android มาพร้อมกับเบราว์เซอร์เริ่มต้น
- ลิ้นชักการแจ้งเตือน: การปัดหน้าจอลงจะทำให้แถบแจ้งเตือนปรากฏขึ้น ซึ่งจะแสดงเหตุการณ์ของแอปพลิเคชันที่ผู้ใช้ควรทราบ เหนือการแจ้งเตือนจะมีชุดทางลัดไปยังการตั้งค่าอุปกรณ์ที่ใช้ทั่วไปซึ่งผู้ใช้สามารถสลับไปมาได้ การตั้งค่าเหล่านี้รวมถึงการสลับเปิดและปิดสำหรับส่วนประกอบฮาร์ดแวร์ต่างๆ เช่น บลูทูธและไวไฟ การกดเหตุการณ์เหล่านี้ค้างไว้จะทำให้เราสามารถไปที่หน้าการกำหนดค่าได้
เลเยอร์นี้เรียกอีกอย่างว่าระดับผู้ใช้ ซึ่งต่างจากเลเยอร์ด้านล่างที่ส่วนใหญ่ปรับแต่งสำหรับการพัฒนาแอปพลิเคชัน นักพัฒนาแอปพลิเคชันสร้างและปรับแต่งประสบการณ์สำหรับแอปของตนบนเลเยอร์นี้ เลเยอร์ด้านล่างเลเยอร์แอปพลิเคชันไม่ได้ปรับแต่งโดยนักพัฒนาแอปพลิเคชัน เลเยอร์เหล่านี้ถือเป็นส่วนหนึ่งของเลเยอร์ระบบ เลเยอร์เหล่านี้ปรับแต่งโดยผู้ผลิตอุปกรณ์ ทีม Android ของ Google หรือบุคคลที่สามที่ต้องการใช้ Android ซอร์สโค้ดสำหรับผลิตภัณฑ์หรือการวิจัยของพวกเขา
กรอบแอ็พพลิเคชัน
บริษัท Android OS เปิดเผยไลบรารีและคุณสมบัติพื้นฐานของ Android อุปกรณ์ที่ใช้ก Java เอพีไอ นี่คือสิ่งที่เรียกว่า Android กรอบ. กรอบการทำงานนี้เปิดเผยวิธีการใช้ที่ปลอดภัยและสม่ำเสมอ Android ทรัพยากรของอุปกรณ์
1) ผู้จัดการกิจกรรม
แอพพลิเคชั่นใช้ Android องค์ประกอบกิจกรรมสำหรับการนำเสนอจุดเริ่มต้นไปยังแอป Android กิจกรรมคือส่วนประกอบที่เป็นที่เก็บอินเทอร์เฟซผู้ใช้ที่ผู้ใช้แอปโต้ตอบด้วย เมื่อผู้ใช้ปลายทางโต้ตอบกับ Android อุปกรณ์จะเริ่ม หยุด และข้ามไปมาระหว่างแอปพลิเคชันต่างๆ มากมาย เหตุการณ์การนำทางแต่ละรายการจะทริกเกอร์การเปิดใช้งานและปิดใช้งานกิจกรรมต่างๆ ในแอปพลิเคชันที่เกี่ยวข้อง
บริษัท Android ActivityManager มีหน้าที่รับผิดชอบพฤติกรรมที่คาดการณ์ได้และสม่ำเสมอระหว่างการเปลี่ยนแอปพลิเคชัน ActivityManager มีช่องสำหรับให้ผู้สร้างแอปให้แอปของตนตอบสนองเมื่อ Android ระบบปฏิบัติการจะดำเนินการทั่วโลก แอปพลิเคชันสามารถรับฟังเหตุการณ์ต่างๆ เช่น การหมุนอุปกรณ์ การทำลายแอปพลิเคชันเนื่องจากหน่วยความจำไม่เพียงพอ การย้ายแอปพลิเคชันออกจากโฟกัส เป็นต้น
ตัวอย่างวิธีที่แอปพลิเคชันตอบสนองต่อการเปลี่ยนแปลงเหล่านี้ ได้แก่ การหยุดกิจกรรมในเกม การหยุดเล่นเพลงระหว่างการโทร
2) ตัวจัดการหน้าต่าง
Android สามารถกำหนดข้อมูลหน้าจอเพื่อกำหนดความต้องการที่จำเป็นในการสร้างหน้าต่างสำหรับแอพพลิเคชันได้ Windows คือช่องที่เราสามารถดูอินเทอร์เฟซผู้ใช้แอปของเราได้ Android ใช้ตัวจัดการหน้าต่างเพื่อให้ข้อมูลนี้แก่แอปและระบบในขณะที่ทำงาน เพื่อให้สามารถปรับให้เข้ากับโหมดที่อุปกรณ์กำลังทำงานอยู่
Window Manager ช่วยในการมอบประสบการณ์แอพที่ปรับแต่งเอง แอพสามารถเต็มหน้าจอเพื่อประสบการณ์ที่ดื่มด่ำหรือแชร์หน้าจอกับแอพอื่น ๆ Android เปิดใช้งานสิ่งนี้โดยอนุญาตให้มีหน้าต่างหลายหน้าต่างสำหรับแต่ละแอป
3) ผู้จัดการสถานที่
ส่วนมาก Android อุปกรณ์ต่างๆ มีการติดตั้งอุปกรณ์ GPS ที่สามารถรับตำแหน่งของผู้ใช้โดยใช้ข้อมูลดาวเทียมซึ่งสามารถวัดได้อย่างแม่นยำ โปรแกรมเมอร์สามารถแจ้งขอสิทธิ์ตำแหน่งจากผู้ใช้ ส่งมอบตำแหน่ง และประสบการณ์ที่รับรู้
Android ยังสามารถใช้เทคโนโลยีไร้สายเพื่อเพิ่มรายละเอียดตำแหน่งและเพิ่มความครอบคลุมเมื่ออุปกรณ์อยู่ในพื้นที่ปิด Android นำเสนอคุณสมบัติเหล่านี้ภายใต้การดูแลของ Location-Manager
4) ผู้จัดการระบบโทรศัพท์
ส่วนมาก Android อุปกรณ์ต่างๆ มีบทบาทหลักในระบบโทรศัพท์ Android ใช้ TelephoneManager เพื่อรวมส่วนประกอบฮาร์ดแวร์และซอฟต์แวร์เพื่อส่งมอบคุณสมบัติระบบโทรศัพท์ ส่วนประกอบฮาร์ดแวร์ประกอบด้วยชิ้นส่วนภายนอก เช่น ซิมการ์ด และชิ้นส่วนอุปกรณ์ เช่น ไมโครโฟน กล้อง และลำโพง ส่วนประกอบซอฟต์แวร์ประกอบด้วยส่วนประกอบดั้งเดิม เช่น แป้นกดหมายเลข สมุดโทรศัพท์ โปรไฟล์เสียงเรียกเข้า การใช้ TelephoneManager นักพัฒนาสามารถขยายหรือปรับแต่งฟังก์ชันการโทรเริ่มต้นได้
5) ผู้จัดการทรัพยากร
Android แอพมักจะมาพร้อมกับมากกว่าโค้ด นอกจากนี้ยังมีแหล่งข้อมูลอื่นๆ เช่น ไอคอน ไฟล์เสียงและวิดีโอ ภาพเคลื่อนไหว ไฟล์ข้อความ และอื่นๆ ที่คล้ายกัน Android ช่วยให้แน่ใจว่ามีการเข้าถึงทรัพยากรเหล่านี้อย่างมีประสิทธิภาพและตอบสนอง นอกจากนี้ยังรับประกันว่าทรัพยากรที่เหมาะสมจะถูกส่งไปยังผู้ใช้ปลายทาง ตัวอย่างเช่น ไฟล์ข้อความภาษาที่เหมาะสมจะถูกใช้เมื่อเติมฟิลด์ในแอป
6) ดูระบบ
Android ยังช่วยให้สร้างองค์ประกอบภาพทั่วไปที่จำเป็นสำหรับการโต้ตอบกับแอปได้อย่างง่ายดาย ส่วนประกอบเหล่านี้ประกอบด้วยวิดเจ็ต เช่น ปุ่ม ตัวยึดรูปภาพ เช่น ImageView ส่วนประกอบสำหรับแสดงรายการของรายการ เช่น ListView และอื่นๆ อีกมากมาย ส่วนประกอบต่างๆ ได้รับการจัดทำไว้ล่วงหน้า แต่ยังปรับแต่งได้เพื่อให้เหมาะกับความต้องการของนักพัฒนาแอปและการสร้างแบรนด์
7) ผู้จัดการการแจ้งเตือน
ผู้จัดการการแจ้งเตือนมีหน้าที่รับผิดชอบในการแจ้ง Android ผู้ใช้กิจกรรมแอปพลิเคชัน โดยให้สัญญาณภาพ เสียง หรือการสั่นสะเทือนแก่ผู้ใช้ หรือสัญญาณรวมกันเมื่อมีเหตุการณ์เกิดขึ้น เหตุการณ์เหล่านี้มีทริกเกอร์ภายนอกและภายใน ตัวอย่างของทริกเกอร์ภายในคือเหตุการณ์สถานะแบตเตอรี่เหลือน้อยที่ทริกเกอร์การแจ้งเตือนให้แสดงแบตเตอรี่เหลือน้อย อีกตัวอย่างหนึ่งคือเหตุการณ์ที่ผู้ใช้ระบุ เช่น การเตือน ตัวอย่างของทริกเกอร์ภายนอก ได้แก่ ข้อความใหม่หรือเครือข่าย wifi ใหม่ที่ตรวจพบ
Android จัดเตรียมวิธีการสำหรับโปรแกรมเมอร์และผู้ใช้ปลายทางในการปรับแต่งระบบการแจ้งเตือน สิ่งนี้สามารถช่วยรับประกันว่าพวกเขาสามารถส่งและรับเหตุการณ์การแจ้งเตือนด้วยวิธีที่เหมาะสมที่สุดกับพวกเขาและสภาพแวดล้อมปัจจุบันของพวกเขา
8) ผู้จัดการแพ็คเกจ
Android ยังให้การเข้าถึงข้อมูลเกี่ยวกับแอปพลิเคชันที่ติดตั้ง Android ติดตามข้อมูลแอปพลิเคชัน เช่น เหตุการณ์การติดตั้งและการถอนการติดตั้ง สิทธิ์การร้องขอของแอป และการใช้ทรัพยากร เช่น การใช้หน่วยความจำ
ข้อมูลนี้ช่วยให้นักพัฒนาสามารถทำให้แอปพลิเคชันของตนเปิดใช้งานหรือปิดใช้งานฟังก์ชันการทำงานได้ โดยขึ้นอยู่กับคุณลักษณะใหม่ที่นำเสนอโดยแอปที่แสดงร่วม
9) ผู้ให้บริการเนื้อหา
Android มีวิธีมาตรฐานในการแบ่งปันข้อมูลระหว่างแอพพลิเคชั่นบนอุปกรณ์โดยใช้ผู้ให้บริการเนื้อหา นักพัฒนาสามารถใช้ผู้ให้บริการเนื้อหาเพื่อเปิดเผยข้อมูลไปยังแอปพลิเคชันอื่นได้ ตัวอย่างเช่น สามารถทำให้ข้อมูลแอปสามารถค้นหาได้จากแอปพลิเคชันการค้นหาภายนอก Android เปิดเผยข้อมูลเช่นข้อมูลปฏิทิน ข้อมูลผู้ติดต่อ และอื่นๆ ที่คล้ายกันโดยใช้ระบบเดียวกัน
Android รันไทม์และไลบรารี Core/Native
1) Android Runtime
Android ใช้อยู่ในปัจจุบัน Android รันไทม์ (ART) สำหรับรันโค้ดแอปพลิเคชัน ART จะนำหน้าด้วย Dalvik Runtime ซึ่งคอมไพล์โค้ดของนักพัฒนาเป็นไฟล์ปฏิบัติการ Dalvik (ไฟล์ Dex) สภาพแวดล้อมการทำงานเหล่านี้ได้รับการปรับให้เหมาะสมสำหรับแพลตฟอร์ม Android โดยคำนึงถึงข้อจำกัดของโปรเซสเซอร์และหน่วยความจำในอุปกรณ์พกพา
รันไทม์จะแปลโค้ดที่เขียนโดยโปรแกรมเมอร์ให้เป็นโค้ดเครื่องที่ทำการคำนวณ และใช้ส่วนประกอบกรอบงานของ Android เพื่อส่งมอบฟังก์ชันการทำงาน Android โฮสต์แอปพลิเคชั่นและส่วนประกอบของระบบหลายตัวที่แต่ละอันทำงานในกระบวนการของพวกเขา
ไลบรารีหลัก
ในส่วนนี้ เราจะพูดถึงไลบรารีหลักบางส่วนที่มีอยู่ใน Android ระบบปฏิบัติการ.
2) มีเดียเฟรมเวิร์ก
Android ยังรองรับตัวแปลงสัญญาณสื่อยอดนิยม ทำให้ง่ายสำหรับแอพที่สร้างบน Android แพลตฟอร์มสำหรับใช้/เล่นส่วนประกอบมัลติมีเดียได้ทันที
3) SQLite
Android ยังมี SQLite ฐานข้อมูล ที่ช่วยให้แอปพลิเคชันมีฟังก์ชันการทำงานของฐานข้อมูลดั้งเดิมที่รวดเร็วมากโดยไม่จำเป็นต้องใช้ไลบรารีของบุคคลที่สาม
4) ฟรีไทป์
Android มาพร้อมกับเอ็นจิ้นฟอนต์ที่รวดเร็วและยืดหยุ่นที่ติดตั้งไว้ล่วงหน้า ทำให้นักพัฒนาแอปพลิเคชันสามารถจัดสไตล์ส่วนประกอบของแอปพลิเคชันของตน และมอบประสบการณ์อันยาวนานที่สื่อสารถึงจุดประสงค์ของนักพัฒนาได้
5) โอเพ่นจีแอล
Android ยังมาพร้อมกับระบบกราฟิก OpenGL มันเป็นไลบรารี C ที่ช่วย Android ใช้ส่วนประกอบฮาร์ดแวร์ในการเรนเดอร์กราฟิก 2D และ 3D แบบเรียลไทม์
6) เอสเอสแอล
Android ยังมาพร้อมกับชั้นความปลอดภัยในตัวเพื่อให้สามารถสื่อสารที่ปลอดภัยระหว่างแอปพลิเคชันต่างๆ ได้ Android และอุปกรณ์อื่นๆ เช่น เซิร์ฟเวอร์ อุปกรณ์เคลื่อนที่อื่นๆ เราเตอร์ 6.
7) เอสจีแอล
Android มาพร้อมกับไลบรารีกราฟิกที่ใช้งานในโค้ดระดับต่ำซึ่งแสดงกราฟิกสำหรับแพลตฟอร์ม Android ได้อย่างมีประสิทธิภาพ ไลบรารีนี้ทำงานร่วมกับส่วนประกอบระดับสูงของ Android กรอบ Android ไปป์ไลน์กราฟิก
8) ลิบซี
หลักของ Android มีไลบรารี่ที่เขียนด้วยภาษา C และ C++ซึ่งเป็นภาษาระดับต่ำที่มีไว้สำหรับการใช้งานแบบฝังที่ช่วยในการเพิ่มประสิทธิภาพสูงสุด Libc จัดเตรียมวิธีการในการเปิดเผยฟังก์ชันการทำงานของระบบระดับต่ำ เช่น Threads, Sockets, IO และอื่นๆ ให้กับไลบรารีเหล่านี้
9) เว็บคิท
นี่คือกลไกเบราว์เซอร์แบบโอเพ่นซอร์สที่ใช้เป็นพื้นฐานในการสร้างเบราว์เซอร์ ค่าเริ่มต้น Android เบราว์เซอร์ก่อนเวอร์ชัน 4.4 KitKat ใช้เพื่อแสดงผลหน้าเว็บ ช่วยให้นักพัฒนาแอปพลิเคชันสามารถแสดงผลส่วนประกอบของเว็บในระบบมุมมองโดยใช้ WebView ซึ่งช่วยให้แอปสามารถรวมส่วนประกอบของเว็บเข้ากับฟังก์ชันการทำงานได้
10) ผู้จัดการพื้นผิว
ผู้จัดการพื้นผิวมีหน้าที่รับผิดชอบในการรับรองการเรนเดอร์หน้าจอแอปพลิเคชันอย่างราบรื่น โดยทำการสร้างกราฟิก 2D และ 3D สำหรับการเรนเดอร์ นอกจากนี้ยังช่วยให้ทำได้โดยทำการบัฟเฟอร์นอกหน้าจอ
ลินุกซ์เคอร์เนล
ส่วนประกอบรากของ Android ระบบคือเคอร์เนล Linux ซึ่งเป็นส่วนพื้นฐานที่ทำให้ทุกอย่างเป็นไปได้ Androidฟังก์ชันการทำงาน
Linux Kernel เป็นซอฟต์แวร์ที่ผ่านการทดสอบการต่อสู้ซึ่งใช้ในการพัฒนา ระบบปฏิบัติการ สำหรับอุปกรณ์หลากหลายประเภท ตั้งแต่ซูเปอร์คอมพิวเตอร์ไปจนถึงอุปกรณ์ขนาดเล็ก มีความสามารถในการประมวลผลที่จำกัด เช่น อุปกรณ์เครือข่ายขนาดเล็กสำหรับ Internet of Things (IoT)
เคอร์เนล Linux สามารถปรับแต่งให้ตรงตามข้อกำหนดของอุปกรณ์เพื่อให้ผู้ผลิตสามารถทำได้ Android อุปกรณ์ที่มีความสามารถแตกต่างกันเพื่อให้ตรงกับประสบการณ์ของผู้ใช้
ด้วยความนับถือ Androidเคอร์เนลมีหน้าที่รับผิดชอบฟังก์ชันพื้นฐานมากมาย รวมถึงแต่ไม่จำกัดเพียงสิ่งเหล่านี้:
- ไดรเวอร์อุปกรณ์
- การจัดการหน่วยความจำ
- การจัดการกระบวนการ
มาขยายฟังก์ชันการทำงานบางส่วนกัน:
ไดร์เวอร์อุปกรณ์
เคอร์เนล Linux มีไดรเวอร์ที่จำเป็นเพื่อให้ระบบปฏิบัติการสามารถทำงานร่วมกับส่วนประกอบฮาร์ดแวร์ต่างๆ ได้ ไดรเวอร์เหล่านี้มีอินเทอร์เฟซมาตรฐานที่ส่วนประกอบฮาร์ดแวร์จากผู้ผลิตต่างๆ สามารถทำงานร่วมกับได้
ทำให้ผู้ผลิตอุปกรณ์สามารถจัดหาส่วนประกอบต่างๆ ได้ เช่น ส่วนประกอบบลูทูธ ส่วนประกอบ Wifi ส่วนประกอบกล้อง ตราบใดที่ผู้ผลิตตรง Android ข้อกำหนดมาตรฐาน บูรณาการได้อย่างราบรื่น
1) ไดรเวอร์ USB
ลินุกซ์ก็มีให้เช่นกัน Android ด้วยวิธีเชื่อมต่อกับอุปกรณ์ USB อุปกรณ์สมัยใหม่มาพร้อมกับพอร์ต USB ที่แตกต่างกัน รวมถึง USB 2.0 และ USB เวอร์ชันใหม่ รวมถึง USB-C ไดรเวอร์เหล่านี้ทำให้สามารถใช้พอร์ต USB เพื่อชาร์จ ถ่ายโอนข้อมูลสด เช่น บันทึกจาก Android อุปกรณ์และโต้ตอบกับระบบแอนดรอยด์ ระบบแฟ้ม.
2) ไดร์เวอร์บลูทูธ
Linux Kernel ให้การสนับสนุนสำหรับการเชื่อมต่อกับส่วนประกอบฮาร์ดแวร์ Bluetooth มีวิธีอ่านและเขียนข้อมูลที่ได้รับจากความถี่วิทยุบลูทูธที่รองรับ อีกทั้งยังมีชุดอำนวยความสะดวกสำหรับ Android เพื่อกำหนดค่าบลูทูธ
3) ไดร์เวอร์ไร้สาย
เคอร์เนล Linux มีไดรเวอร์เพื่อรวมส่วนประกอบฮาร์ดแวร์เครือข่าย WiFi เปิดใช้งานส่วนประกอบ WiFi ที่ฝังอยู่ในอุปกรณ์พกพา Android อุปกรณ์เพื่อเชื่อมต่อกับเครือข่าย wifi ไดรเวอร์ช่วยให้ส่วนประกอบ wifi สามารถออกอากาศเครือข่าย wifi และสร้างฮอตสปอตได้
4) ไดร์เวอร์จอแสดงผล
Android ทำให้สามารถเชื่อมต่อกับส่วนประกอบของจอภาพได้ สำหรับอุปกรณ์ส่วนใหญ่ ส่วนประกอบของอินเทอร์เฟซจะเป็นหน้าจอสัมผัส LCD ช่วยให้รองรับการกำหนดค่าและการวาดพิกเซลได้
5) ไดร์เวอร์เสียง
Android อุปกรณ์มักมาพร้อมกับส่วนประกอบฮาร์ดแวร์สำหรับอินพุตและเอาต์พุตเสียง ไดรเวอร์เสียงในเคอร์เนลเปิดใช้งาน Android ระบบเพื่อใช้เสียงที่ได้รับจากส่วนประกอบเหล่านี้และสร้างเอาต์พุตเสียงด้วย
6) ผู้จัดการพลังงาน
ส่วนมาก Android มีการใช้งานอุปกรณ์ในขณะที่ตัดการเชื่อมต่อจากเต้ารับไฟฟ้า พวกเขาจึงต้องอาศัยแบตเตอรี่เพื่อจ่ายไฟให้กับการใช้งานส่วนใหญ่ Linux Kernel มาพร้อมกับระบบการจัดการพลังงานที่กำหนดค่าได้เพื่อตอบสนองความต้องการของอุปกรณ์ที่ใช้งาน
Android OS ใช้ตัวจัดการพลังงานเพื่อทำให้ส่วนประกอบอื่นๆ บนอุปกรณ์รับรู้พลังงาน ทำได้โดยการออกอากาศรัฐต่างๆ ที่เกี่ยวข้องกับอำนาจ สถานะเหล่านี้ได้แก่ สแตนด์บาย พักเครื่อง และแบตเตอรี่อ่อน บน Androidตัวจัดการพลังงานจะถูกปรับแต่งเป็นค่าเริ่มต้นเป็นโหมดสลีปเพื่อให้แน่ใจว่าแบตเตอรี่มีอายุการใช้งานสูงสุด
ตัวจัดการพลังงานเปิดเผยวิธีการให้แอปพลิเคชันตอบสนองต่อโหมดพลังงานที่แตกต่างกัน แอปพลิเคชันยังสามารถเปลี่ยนพฤติกรรมให้ตรงกับสถานะพลังงานปัจจุบันของอุปกรณ์ได้
แอปพลิเคชันยังสามารถขอเปลี่ยนนโยบายพลังงานเริ่มต้นได้ แอปพลิเคชันสามารถบรรลุฟังก์ชันที่ต้องการได้ เช่น ทำให้ส่วนประกอบฮาร์ดแวร์ใช้งานได้ ตัวอย่างคือ การทำให้หน้าจอใช้งานได้เมื่ออ่านหนังสือเพื่อให้แน่ใจว่าผู้ใช้จะไม่ถูกรบกวน อีกตัวอย่างหนึ่งคือการเปิดส่วนประกอบเสียงไว้เมื่อฟังเพลงในพื้นหลัง
7) หน่วยความจำแฟลช
ส่วนมาก Android อุปกรณ์ใช้หน่วยความจำแฟลชเป็นสื่อบันทึก หน่วยความจำแฟลชทำงานได้รวดเร็วและใช้พื้นที่น้อยลง ทำให้เหมาะสำหรับอุปกรณ์ขนาดเล็ก เคอร์เนล Linux มีวิธีในการ Android อุปกรณ์สำหรับอ่านและเขียนลงในหน่วยความจำแฟลช โดยให้วิธีการแบ่งพาร์ติชันหน่วยความจำในลักษณะที่ระบบปฏิบัติการและแอปพลิเคชันอื่นๆ สามารถแชร์ทรัพยากรหน่วยความจำได้อย่างง่ายดายและมีประสิทธิภาพ
8) เครื่องผูก
Android โฮสต์แอปพลิเคชันและส่วนประกอบของระบบจำนวนมากที่แต่ละแอปพลิเคชันทำงานในกระบวนการของตน ในกรณีส่วนใหญ่ กระบวนการเหล่านี้ควรแยกออกจากกันเพื่อป้องกันการรบกวนและความเสียหายของข้อมูล ยังมีบางกรณีที่เราต้องการส่งข้อมูลจากกระบวนการหนึ่งไปยังอีกกระบวนการหนึ่ง
เคอร์เนล Linux เปิดใช้งานฟังก์ชันการแบ่งปันข้อมูลโดยจัดเตรียมไดรเวอร์ Binder ไดรเวอร์ Binder ช่วยให้สามารถสื่อสารระหว่างกระบวนการ IPC ได้ การใช้กระบวนการ IPC สามารถค้นพบกระบวนการอื่นๆ และแบ่งปันข้อมูลได้
การจัดการหน่วยความจำ
ความรับผิดชอบอีกประการหนึ่งของ Linux Kernel คือการจัดการหน่วยความจำ เมื่อแอปพลิเคชันต่างๆ ทำงาน เคอร์เนลจะช่วยให้แน่ใจว่าพื้นที่หน่วยความจำที่ใช้ไม่ขัดแย้งกันและเขียนทับซึ่งกันและกัน
นอกจากนี้ยังช่วยให้แน่ใจว่าแอปที่ทำงานอยู่ทั้งหมดมีหน่วยความจำเพียงพอในการทำงาน ทำให้มั่นใจได้ว่าไม่มีแอปใดใช้พื้นที่มากเกินไป
การจัดการกระบวนการ
ทุกแอปใน Android ทำงานอยู่ในกระบวนการ เคอร์เนลยังรับผิดชอบในการจัดการกระบวนการต่างๆ ซึ่งหมายความว่ามีหน้าที่ในการสร้าง หยุดชั่วคราว หยุด ปิด หรือทำลายกระบวนการต่างๆ
เคอร์เนลเปิดใช้งานฟังก์ชันต่างๆ เช่น การรันหลายกระบวนการในเวลาเดียวกัน การสื่อสารระหว่างกระบวนการ การรันกระบวนการในเบื้องหลัง และอื่นๆ
เนื่องจากแต่ละกระบวนการต้องการพื้นที่หน่วยความจำของตัวเองเพื่อให้ทำงานได้อย่างถูกต้อง เคอร์เนลจึงช่วยให้แน่ใจว่าพื้นที่หน่วยความจำที่จัดสรรสำหรับแต่ละกระบวนการได้รับการปกป้องจากกระบวนการอื่น อีกทั้งยังทำให้มั่นใจได้ว่าทรัพยากรเช่น แรม จัดสรรให้กับกระบวนการจะถูกปลดปล่อยเมื่อกระบวนการปิดตัวลง
เคอร์เนล Linux ยังรับผิดชอบในการกระจายงานไปยังโปรเซสเซอร์ที่มีอยู่ในอุปกรณ์ ทำให้สามารถเพิ่มประสิทธิภาพของอุปกรณ์ที่มีหลายคอร์ได้สูงสุด เนื่องจากแอปที่ต่างกันจะมีกระบวนการที่ทำงานบนคอร์ที่ต่างกัน
เคอร์เนล Linux ทำงานได้มากขึ้นภายใต้ประทุนรวมถึงการบังคับใช้ความปลอดภัย
สรุป
- Android สถาปัตยกรรมได้รับการจัดวางเป็นชั้นๆ
- แต่ละชั้นจะแก้ปัญหาเฉพาะหน้า
- ผู้ใช้ปลายทางโต้ตอบกับแอปในเลเยอร์แอปพลิเคชัน
- นักพัฒนาแอพพลิเคชั่นพัฒนาแอพพลิเคชั่นเพื่อใช้บนชั้นแอพพลิเคชั่น พวกเขาทำเช่นนั้นโดยใช้เครื่องมือและนามธรรมที่จัดทำโดย Application Framework
- Android เลเยอร์เฟรมเวิร์กทำให้การเข้าถึงส่วนประกอบระดับต่ำง่ายขึ้นโดยการสร้าง API บนไลบรารีดั้งเดิม
- Android รันไทม์และ Core-Libraries ใช้ภาษาระดับต่ำร่วมกับการปรับให้เหมาะสมสำหรับอุปกรณ์มือถือ สิ่งนี้ทำให้มั่นใจได้ว่าโค้ดที่เขียนโดยนักพัฒนาแอปพลิเคชันจะทำงานได้อย่างราบรื่น Android ข้อจำกัดของอุปกรณ์
- ที่ด้านล่างของ Android สแต็กซอฟต์แวร์คือเคอร์เนล Linux มันเชื่อมต่อกับส่วนประกอบฮาร์ดแวร์ทั่วไป Android อุปกรณ์