Vòng đời của ứng dụng Android

Trong bài viết trước, tôi đã ra mắt những thành phần cơ bản của một ứng dụng Android, trong bài viết này, tôi liên tục ra mắt về vòng đời ( chu kỳ luân hồi sống – life cycle ) của ứng dụng Android
Android có chính sách quản trị những process theo chính sách ưu tiên ( priority ). Các process có độ ưu tiên thấp sẽ bị Android giải phóng mà không hề cảnh báo nhắc nhở nhằm mục đích bảo vệ tài nguyên .
Một sự khác thường và đặc tính cơ bản của Android là thời hạn sống của tiến trình ứng dụng không được tinh chỉnh và điều khiển trực tiếp bởi chính nó. Thay vào đó, nó được xác lập bởi mạng lưới hệ thống qua một tích hợp của :

– Những phần của ứng dụng mà hệ thống biết đang chạy.

– Những phần đó quan trọng như thế nào so với người dùng .
– Bao nhiêu vùng nhớ sở hữu trong mạng lưới hệ thống .

Các loại tiến trình (process) của Android:

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.

Xem thêm  Genshin Impact || TÓM TẮT CỐT TRUYỆN (PHẦN 3) - Bài ca về RỒNG và TỰ DO || Thư Viện Game

Theo chính sách ưu tiên thì khi cần tài nguyên, Android sẽ tự động hóa kill process, thứ nhất là những empty process .

Chu kỳ sống của ứng dụng Android (Android Activity Life Cycle):

Chu kỳ sống thành phần: các thành phần ứng dụng có một chu kỳ sống, tức là mỗi thành phần từ lúc bắt đầu khởi tạo và đến thời điểm kết thúc, đôi lúc chúng có thể là active
(visible hoặc invisible) hoặc inactive.

Activity Stack : bên trong mạng lưới hệ thống những activity được quản trị như một activity stack. Khi một Activity mới được start, nó được đặt ở đỉnh của stack và trở thành activity đang chạy ( running activity ), những activity trước sẽ tạm dừng và ở bên dưới activity mới và sẽ không thấy trong suốt quy trình activity mới sống sót .

– Nếu người dùng nhấn nút Back thì activity kết tiếp của stack sẽ di duyển lên và trở thành active.

ActivityStack

Activity bao gồm 4 trạng thái (state):

active (running): Activity đang hiển thị trên màn hình (foreground). Activity này tập chung vào những thao tác của người dùng trên ứng dụng

paused: Activity được tạm dừng, tuy vẫn hiển thị (visible) nhưng không thể tương tác (lost focus). Có nghĩa là một activity mới ở trên nó, nhưng không bao phủ đầy màn hình. Một activity tạm dừng là còn sống, nhưng có thể bị kết thúc bởi hệ thống trong trường hợp thiếu vùng nhớ.

Xem thêm  15 tính năng hay trên điện thoại Xiaomi mà bạn cần biết - Xiaomi Nghệ An

stop: Activity bị thay thế hoàn toàn bởi Activity mới sẽ tiến đến trạng thái stop. Nó vẫn còn trạng thái và thông tin thành viên trong nó. Người dùng không thấy nó và thường bị loại bỏ khi hệ thống cần vùng nhớ cho các tác vụ khác.

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 paused cũ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 đó.

Biểu đồ miêu tả Activity state
[IMG]
Vòng đời của Activity:

Entire lifetime: Từ phương thức onCreate( ) cho tới onDestroy( )
Visible liftetime: Từ phương thức onStart( ) cho tới onStop( )
Foreground lifetime: Từ phương thức onResume( ) cho tới onPause( )

Khi xây dựng Actitvity cho ứng dụng cần phải viết lại phương thức onCreate( ) để thực hiện quá trình khởi tạo. Các phương thức khác có cần viết lại hay không tùy vào yêu cầu lập trình.

Các hàm thực thi:

– onCreate(…): hàm này được gọi khi lớp Activity được khởi  tạo, dùng để thiết lập giao diện ứng dụng và thực thi những thao tác cơ bản.
– onStart(): hàm này được gọi khi lớp ứng dụng xuất hiện trên màn hình.
– onResume(): hàm được gọi ngay sau OnStart hoặc khi người dùng focus ứng dụng, hàm này sẽ đưa ứng dụng lên top màn hình.
– onPause(): hàm được gọi khi hệ thống đang focus đến 1 activity trước đó.
– onStop(): hàm được gọi khi một activity khác được khởi động và focus.
– onRestart(): đưọc gọi khi ứng dụng chuyển sang onStop(), nhưng muốn khởi động lại bằng onStart().

Xem thêm  Tuyệt Đại Song Kiều - Tập 33 | Phim Bộ Kiếm Hiệp Trung Quốc Hay Nhất - Thuyết Minh
Rate this post

Bài viết liên quan

Để lại ý kiến của bạn:

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *