Trong phần này, mình và các bạn sẽ cùng đi tìm hiểu về các khái niệm vòng đời của một ứng dụng trong android. Chúng ta sẽ cùng nghiên cứu về các khái niệm sau:
+ Applications
+ Activities
+ Activity Stack
+ Task
+ Life Cycle
1. Applications là gì ?
- Các bạn có thể hiểu một cách ngắn gọn rằng: Một Android project khi được biên dịch thành công sẽ được đóng gói thành một tệp .apk và tệp .apk này chính là một Application. Với tệp .apk này bạn có thể cài đặt trên emulator hoặc trên chính chiếc điện thoại thông minh của bạn.
2. Activities là gì ?
- Nói chung một Application sẽ có một hoặc nhiều Activity (đại khái là màn hình tương tác của bạn với chương trình). Mỗi một Activity này sẽ có một vòng đời riêng độc lập với các Activity khác, cho nên, các bạn phải nắm chắc về vòng đời của các Activity. Chúng ta sẽ tìm hiểu trong phần sau.
- Activity nếu muốn được gọi ra thì phải được khai báo trong file AndroidManifest.xml. Cái này thì bài tước mình cũng đề cập tới rồi.
3. Activity Stack là gì ?
- Cũng giống với các ngôn ngữ lập trình khác, Activity Stack hoạt động dựa theo cơ chế LIFO(LAST IN FIRST OUT). Các bạn có thể hiểu Stack như là một ngăn xếp các quyển sách, với việc quyển đầu tiên được đặt dưới cùng ngăn xếp. Các quyển sách tiếp theo được đặt lên trên quyển sách đó và tương tự. Khi lấy ra thì phải lấy lần lượt từ trên xuống dưới, có nghĩa là quyển nào xếp vào sau cùng thì lấy ra trước. Đó chính là LIFO đó.
- Vì vậy, mỗi một Android Activity khi được triệu gọi sẽ được mở bên trên Activity trước đó. Bạn có thể trể về với Activity cũ với nút Back của điện thoại hoặc code lệnh
- Các bạn lưu ý có 2 kiểu mở Activity mới nhé:
+ Mở Activity mới che khuất toàn bộ Activity cũ => Sẽ xảy ra các sự kiện onPause rồi onStop với Activity cũ.
+ Mở Activity mới chỉ che khuất một phần của Activity cũ => Sảy ra sự kiện onPause đối với Activity cũ.
- Khi muốn quay trở lại Activity cũ thì chúng ta phải gọi hàm onResume để phục hồi lại trạng thái ứng dụng. Nói chung vấn đề này sẽ được mình đề cập tới trong các bài tiếp theo. Các bạn hiện tại chỉ cần ghi nhớ vậy là được. Lý thuyết hơi nhọc một tí
4. Tasks là gì?
- Tasks có thể hiểu nôm na là khả năng thực thi một công việc nào đó của ứng dụng, cụ thể là của các Activity.
- Ví dụ như khi bạn muốn viết một ứng dụng gọi điện thoại, bạn cần phải triệu gọi tới Activity của ứng dụng danh bạ. Sau khi lấy xong sẽ trả về dữ liệu và quay về ứng dụng của bạn. Đó là một Task trong chương trình của bạn.
5. Life Cycle States (Trạng thái vòng đời )
- Mỗi Activity thường vòng đời có 3 trạng thái (states) như sau:
+Running (Đang chạy, đang kích hoạt)
+Paused (tạm dừng)
+Stopped (dừng - không phải Destroyed đâu nhé)
- Bạn lưu ý khi Activity trong trạng thái Stopped và Paused thì đều có khả năng bị Destroyed(hủy) khi bộ nhớ ưu tiên cần cho việc khác.
6.Visible Lifetime và Foreground Lifetime
- Visible Lifetime: Sẽ xảy ra từ sau khi onStart -> gọi onStop. Trong thời gian này, các bạn vẫn có thể thấy màn hình Activity (Nhưng chỉ tương tác được khi trong vòng Foreground Lifetime, sẽ không tương tác được nếu ở ngoài vòng này)
- Foreground Lifetime: Sảy ra từ khi gọi onResume -> gọi onPause: Trong thời gian này, các bạn có thể tương tác thoải mái và Activity luôn ở trên cùng.
Về cơ bản thì lý thuyết là vậy, các bạn cố gắng nhớ những điều này vì sau này sẽ áp dụng vào việc code của bạn. Hẹn gặp lại các bạn ở bài tập sau
>>>Bài 5: Các loại layout trong Android
1DiDong.Com Mua bán điện thoại chính hãng iPhone, Samsung, Oppo, Sony, HTC, LG… giá tốt, nhiều khuyến mại hấp dẫn, mua trả góp thủ tục nhanh chóng
Đăng ký:
Đăng Nhận xét (Atom)
Bài đăng phổ biến
-
Trong SEO Offpage, backlink là yếu tố đầu tiên và cũng là yếu tố duy nhất có ảnh hưởng trực tiếp đến thứ hạng của website trên kết quả tìm k...
-
Theo yêu cầu của một bạn, lần này Noct sẽ hướng dẫn cách làm nút Add Comment (đăng một nhận xét), thủ thuật này thích hợp cho các blog có ...
-
Sau khi Mozilla tung ra Firefox phiên bản thử nghiệm 9 chỉ 4 ngày sau Firefox 14.0 beta 10 đã được ra lò mang theo nhiều ấn tượng mới cho ...
-
Hàm main trong Java là hàm đầu tiên mà lập trình viên biết đến khi bắt đầu học lập trình Java. Bạn có bao giờ nghĩ là tại sao hàm main trong...
-
Dưới đây là 10 bài viết hay nói về cách tạo ảnh vs chỉnh sửa ảnh bằng phothoshop, Photoshop - "Thầy phù thủy của những bức ảnh", ...
-
Để thiết kế thật tốt giao diện trong Android, các bạn phải nắm chắc việc sử dụng các loại Layout cơ bản của nó. Các Layout cơ bản của A...
-
Như các bạn đã biết, việc tạo một Form Contact ( Trang liên hệ ) giúp người đọc dễ dàng hơn trong việc thông báo với chủ Website/Blog một ...
-
Lệnh liên quan đến hệ thống * exit: thoát khỏi cửa sổ dòng lệnh. * logout: tương tự exit. * reboot: khởi động lại hệ thống. * halt: tắt máy....



Không có nhận xét nào:
Đăng nhận xét