25/11/14

Cơ chế quản lý các process trong Android

Tiếp tục loạt bài hướng dẫn học lập trình Android chúng ta sẽ tìm hiểu về Cơ chế quản lý các process trong Android cùng thứ tự ưu tiên của chúng và quản lý Activity trong HĐH này.



Cơ chế quản lý các process trong Android theo chế độ ưu tiên. Các process có priority thấp sẽ bị Android giải phóng mà không hề cảnh báo nhằm đảm bảo tài nguyên. 


1.Foreground process: là process của ứng dụng hiện thời đang được người dùng tương tác.
2.Visible process: là process của ứng dụng mà activity đang hiển thị đối với người dùng (onPaused() của activity được gọi).
3.Service process: là Service đang running.
4.Background process: là process của ứng dụng mà các activity của nó ko hiển thị với người dùng (onStoped() của activity được gọi).
5.Empty process: process không có bất cứ 1 thành phần nào active.
Theo chế độ ưu tiên thì khi cần tài nguyên, Android sẽ tự động kill process, trước tiên là các empty process.


Và Actitvity là thành phần quan trọng nhất và đóng vai trò chính trong xây dựng ứng dụng Android, đây là điều quan trọng cho những ai học lập trình Android cần biết. Hệ điều hành Android quản lý Activity theo dạng stack: khi một Activity mới được khởi tạo, nó sẽ được xếp lên đầu của stack và trở thành running activity, các Activity trước đó sẽ bị tạm dừng và chỉ hoạt động trở lại khi Activity mới được giải phóng.

Activity bao gồm 4 state:
active (running): Activity đang hiển thị trên màn hình (foreground).
paused: Activity vẫn hiển thị (visible) nhưng không thể tương tác (lost focus). 
VD: một activity mới xuất hiện hiển thị giao diện đè lên trên activity cũ, nhưng giao diện này nhỏ hơn giao diện của activity cũ, do đó ta vẫn thấy được 1 phần giao diện của activity cũ nhưng lại không thể tương tác với nó.
stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng thái stop
killed: Khi hệ thống bị thiếu bộ nhớ, nó sẽ giải phóng các tiến trình theo nguyên tắc ưu tiên. Các Activity ở trạng thái stop hoặc pausedcũng có thể bị giải phóng và khi nó được hiển thị lại thì các Activity này phải khởi động lại hoàn toàn và phục hồi lại trạng thái trước đó.


Hy vọng bài viết Cơ chế quản lý các process trong Android này sẽ giúp ích nhiều cho các bạn, nhất là những bạn đang chuẩn bị theo học lập trình về HĐH này.

Chúc bạn thành công.