Mục Lục
1. Giới thiệu
Android Activity Lifecycle (Vòng đời của một Activity trong Android) mô tả các trạng thái khác nhau mà một Activity
có thể trải qua từ khi được tạo ra cho đến khi bị hủy. Activity
là một thành phần cơ bản trong ứng dụng Android, đại diện cho một màn hình đơn lẻ với giao diện người dùng. Vòng đời của Activity
được quản lý bởi hệ điều hành Android và bao gồm các giai đoạn chính sau:
2. Các giai đoạn trong Activity Lifecycle:
onCreate()
:- Được gọi khi
Activity
được khởi tạo lần đầu tiên. Đây là nơi bạn thực hiện các thao tác khởi tạo cơ bản như thiết lập giao diện người dùng (UI
), khai báo các biến, tạo các đối tượng cần thiết, và thiết lập dữ liệu ban đầu.
- Được gọi khi
onStart()
:- Được gọi khi
Activity
trở nên hiển thị với người dùng nhưng chưa ở trạng thái tương tác. Ở giai đoạn này,Activity
chuẩn bị để chuyển sang trạng thái tiếp theo (tương tác với người dùng).
- Được gọi khi
onResume()
:- Được gọi khi
Activity
bắt đầu tương tác với người dùng. Đây là trạng thái màActivity
ở phía trước màn hình và người dùng có thể tương tác với nó.Activity
lúc này đang hoạt động đầy đủ.
- Được gọi khi
onPause()
:- Được gọi khi
Activity
không còn ở phía trước màn hình (bị che khuất một phần hoặc hoàn toàn bởi mộtActivity
khác). Ở đây, bạn nên lưu các dữ liệu quan trọng và dừng các thao tác tiêu tốn tài nguyên như phát nhạc, video…
- Được gọi khi
onStop()
:- Được gọi khi
Activity
không còn hiển thị với người dùng.Activity
này có thể đã bị thay thế bởi mộtActivity
khác hoặc bị ẩn đi. Bạn nên sử dụngonStop()
để dừng hoặc hủy các tác vụ không cần thiết khiActivity
không còn hiển thị.
- Được gọi khi
onRestart()
:- Được gọi khi
Activity
đã bị dừng (stop) và đang được khởi động lại.onRestart()
được theo sau bởionStart()
.
- Được gọi khi
onDestroy()
:- Được gọi trước khi
Activity
bị hủy hoàn toàn. Điều này xảy ra khiActivity
kết thúc (người dùng thoát khỏiActivity
) hoặc hệ thống cần thu hồi bộ nhớ. Bạn nên giải phóng các tài nguyên hoặc hủy các tác vụ còn lại ở đây.
- Được gọi trước khi
3. Mô hình Vòng đời của Activity
+---------------------+
| onCreate() |
+---------------------+
|
V
+---------------------+
| onStart() |
+---------------------+
|
V
+---------------------+
| onResume() |
+---------------------+
|
| Người dùng tương tác với Activity
|
V
+---------------------+
| onPause() |
+---------------------+
|
V
+---------------------+
| onStop() |
+---------------------+
|
V
+---------------------+
| onDestroy() |
+---------------------+
4. Ví dụ về Activity Lifecycle
- Khi một ứng dụng mới được mở, các phương thức được gọi theo thứ tự:
onCreate()
->onStart()
->onResume()
. - Khi người dùng nhấn nút “Home”,
Activity
sẽ chuyển từonPause()
->onStop()
. - Khi người dùng quay lại ứng dụng,
Activity
chuyển từonRestart()
->onStart()
->onResume()
. - Khi ứng dụng bị đóng hoàn toàn,
Activity
chuyển từonPause()
->onStop()
->onDestroy()
.
5. Tóm lại
Activity Lifecycle
giúp bạn quản lý các trạng thái của Activity
một cách hiệu quả, đảm bảo tài nguyên được sử dụng đúng cách và cung cấp trải nghiệm người dùng tốt.
Xin chào,
Bài viết này sử dụng AI ChatGPT để viết sau đó được lựa chọn, biên tập lại nội dung, chỉ một phần nhỏ các bài là tôi tự viết. Nội dung thể hiện ý chí cá nhân về các vấn đề, giải pháp. Tôi lưu tại website này để học, tra cứu và chia sẻ.
Tôi là Minh, sống tại Hà Nội, kỹ sư phần mềm với hơn 20 năm kinh nghiệm. Các ngôn ngữ yêu thích của tôi là Swift, Objective-C, Java, Kotlin, .NET, HTML, JavaScript, CSS, Bootstrap, jQuery, AngularJS, Angular…
Các bạn có thể tải app của tôi trên App Store hoặc Google Play:
QuestionBank-Ôn thi vào 10: phiên bản iOS, phiên bản Android
TypingTest by QuestionBank: phiên bản iOS, phiên bản Android
Xin cảm ơn,
Minh