Networks Business Online Việt Nam & International VH2

Kiến trúc của Android (Android Platform Architecture) – AI Design – Thiết kế web theo yêu cầu tại Hồ Chí Minh

Đăng ngày 03 October, 2022 bởi admin

Android là một hệ điều hành mã nguồn mở, được xây dựng dựa trên Linux và có thể sử dụng cho nhiều thiết bị khác nhau.
Bao gồm các thành phần chính theo sơ đồ bên dưới:

Hình 1. Ngăn xếp những thành phần trong cấu trúc hệ điều hành của Android .

Nhân Lunix (The Linux Kernel )

Nhân Linux là nền tảng của nền tảng Android. Nó giúp Android trong các dịch vụ và chức năng hệ thống cốt lõi như phân luồng, cấp thấp quản lý bộ nhớ, bảo mật, quản lý quy trình, mạng và
trình điều khiển phần cứng.

Nhân Linux cũng hoạt động như một lớp trừu tượng (abstraction layer) giữa phần cứng và phần mềm của nền tảng.

Hardware Abstraction Layer (HAL)

Hardware Abstraction Layer (HAL) cung cấp các giao diện tiêu chuẩn thể hiện các khả năng của phần cứng thiết bị với framework API Java cấp cao hơn (higher-level Java API framework). HAL bao gồm nhiều mô-đun thư viện, mỗi mô-đun thực hiện một giao diện cho một loại thành phần phần cứng cụ thể, chẳng hạn như mô-đun Camera hoặc Bluetooth. Khi một framework API thực hiện cuộc gọi để truy cập phần cứng của thiết bị, hệ thống Android sẽ tải mô-đun thư viện cho thành phần phần cứng đó.

Android Runtime

Đối với những thiết bị chạy Android phiên bản 5.0 ( API cấp 21 ) trở lên, mỗi ứng dụng chạy trong quá trình riêng và với phiên bản Android Runtime ( ART ) riêng. ART được viết để chạy nhiều máy ảo trên những thiết bị có bộ nhớ thấp bằng cách thực thi những tệp DEX, một định dạng bytecode được phong cách thiết kế đặc biệt quan trọng cho Android được tối ưu hóa cho bộ nhớ tối thiểu. Xây dựng những công cụ, ví dụ điển hình như d8, biên dịch những mã nguồn Java thành DEX bytecode, hoàn toàn có thể chạy trên nền tảng Android .

Một số tính năng chính của ART bao gồm:

  • Biên dịch trước thời gian (AOT) và đúng lúc (JIT)
  • Thu gom rác tối ưu hóa (GC)
  • Trên Android 9 (API cấp 28) trở lên, chuyển đổi tệp định dạng Dalvik Executable (DEX) của gói ứng dụng thành mã máy nhỏ gọn hơn.
  • Hỗ trợ debug tốt hơn, bao gồm trình biên dịch lấy mẫu chuyên dụng (profiler), các ngoại lệ chẩn đoán chi tiết và báo cáo sự cố cũng như khả năng thiết lập các điểm theo dõi để giám sát các trường cụ thể

Trước phiên bản Android 5.0 ( API cấp 21 ), Dalvik là Android runtime. Nếu ứng dụng của bạn chạy tốt trên ART, thì ứng dụng đó cũng sẽ hoạt động giải trí trên Dalvik, nhưng điều ngược lại hoàn toàn có thể không đúng .Android cũng gồm có một bộ thư viện thời hạn chạy cốt lõi phân phối hầu hết những công dụng của ngôn từ lập trình Java, gồm có 1 số ít tính năng của ngôn từ Java 8, mà framework API Java sử dụng .

Native C/C++ Libraries

Nhiều thành phần và dịch vụ hệ thống cốt lõi của Android, chẳng hạn như ART và HAL, được xây dựng từ mã gốc (native code) yêu cầu thư viện gốc được viết bằng CC ++. Nền tảng Android cung cấp các API khung Java để hiển thị chức năng của một số thư viện gốc này cho các ứng dụng. Ví dụ: bạn có thể truy cập OpenGL ES thông qua API Java OpenGL của Android framework để thêm hỗ trợ vẽ và thao tác đồ họa 2D và 3D trong ứng dụng của bạn.

Nếu bạn đang tăng trưởng một ứng dụng nhu yếu mã C hoặc C + +, bạn hoàn toàn có thể sử dụng Android NDK để truy vấn trực tiếp vào một số ít thư viện nền tảng gốc ( native platform libraries ) này từ mã gốc của mình .

Java API Framework

Toàn bộ tập hợp tính năng của Hệ điều hành Android có sẵn cho bạn thông qua các API được viết bằng ngôn ngữ Java. Các API này tạo thành các khối xây dựng mà bạn cần để tạo ứng dụng Android bằng cách đơn giản hóa việc sử dụng lại các thành phần (components) và dịch vụ (services) hệ thống mô-đun, cốt lõi, bao gồm những nội dung sau:

  • View System đa đạng và có thể mở rộng, bạn có thể sử dụng để xây dựng giao diện người dùng (UI) của ứng dụng. Bao gồm lists, grids, text boxes, buttons,… và thậm chí cả trình duyệt web có thể nhúng (embeddable web browser)
  • Resource Manager, cung cấp quyền truy cập vào các tài nguyên không phải mã ( non-code resources) như các chuỗi string, graphic, và các file layout
  • Notification Manager cho phép tất cả các ứng dụng hiển thị cảnh báo tùy chỉnh trên thanh trạng thái
  • Activity Manager quản lý vòng đời của ứng dụng và cung cấp ngăn xếp điều hướng chung
  • Content Providers cho phép ứng dụng truy cập dữ liệu từ các ứng dụng khác, chẳng hạn như ứng dụng Danh bạ hoặc chia sẻ dữ liệu của riêng họ

Các Developer có toàn quyền truy vấn vào những framework API giống nhau mà những ứng dụng mạng lưới hệ thống Android sử dụng .

System Apps

Android đi kèm với nhiều ứng dụng cốt lõi được cài đặt sẵn cho email, nhắn tin, lịch, v.v … Tuy nhiên, bất kỳ ứng dụng tương ứng nào khác
có thể được tạo thành một ứng dụng mặc định thay cho các lõi này ứng dụng. Các ứng dụng hệ thống (System Apps) này có thể được gọi từ ứng dụng của riêng bạn. Ví dụ, nếu bạn muốn
cung cấp chức năng nhắn tin cho một ứng dụng, bạn không cần để tự xây dựng chức năng đó. Bạn có thể gọi ứng dụng hệ thống cho nhắn tin từ trong ứng dụng của bạn để gửi tin nhắn.

Bài viết được tìm hiểu thêm từ https://developer.android.com/guide/platform

Source: https://vh2.com.vn
Category : Ứng Dụng