Khái niệm vòng đời ứng dụng android - học lập trình andoid cơ bản

Chúng ta đã tìm hiểu những thành phần cơ bản cấu tạo nên một ứng dụng android bài trước các bạn đã nắm bắt được khái niệm của từng thành phần đó như thế nào.
Còn ở bài viết ngày hôm nay chúng ta sẽ cùng tìm hiểu một khái niệm cũng liên quan đến ứng dụng android và không kém phần quan trọng: Vòng đời của ứng dụng android. Đây là hai khái niệm quan trọng các bạn được tiếp xúc đầu tiên khi học hóa học lập trình android.

Với phần lý thuyết này chúng ta sẽ tìm hiểu qua 5 khái niệm nhỏ: Appliaction là gì? Activities là gì? Activity Stack là gì? Tasks là gì? Life Cycle States là gì?

Từ những khái niệm này chúng ta sẽ rút ra được thế nào là vòng đời của ứng dụng android.


1. Application là gì?
Bạn hiểu nôm na như sau: Mỗi một Android Project khi bạn biên dịch thành công thì sẽ được đóng gói thành tập tin.apk, tập tin .apk được gọi là một Application (Ứng dụng cụ thể nào đó – Ví dụ như ứng dụng chống tin nhắn rác, ứng dụng tìm đường đi ngắn nhất, ứng dụng đăng ký học phần bằng sms …. ).

2. Activities là gì?
Thông thường trong một ứng dụng (Application) sẽ ó một hoặc nhiều Activity. Mỗi một Activity này sẽ có một vòng đời riêng biệt độc lập hoàn toàn với activity khác, bạn sẽ hiểu rõ hơn về vòng đời trong phần Life Cycle States. Việc hiểu rõ vòng đời của Activity là rất quan trọng trong việc xử lý thông tin. Môt activity muốn triệu gọi trong ứng dụng thì bát buộc nó phải được khai báo trong Manifest.

3. Activity Stack là gì?
Tương tự như các ngôn ngữ lập trình khác, Activity Stack hoạt động theo cơ chế LIFO (last in first out). Mỗi một activity mới được mở lên nó ở bên trên activity cũ, để trở về activity thì bạn chỉ cần nhấn nút “Back” để trở về hoặc viết lệnh. Tuy nhiên nếu bạn đã dùng nút Home thì không thể dùng nút Back để quay lại màn hình cũ được.

vòng đời của ứng dụng android - khóa học lập trình android


Có hai kiểu mở Activity: 
Mở activity mới lên làm che khuất toàn bộ activity cũ (không nhìn thấy activity cũ): xảy ra sự kiện onPause rồi onStop đối với activity cũ. 
Mở activity mới lên làm che khuất một phần activity cũ (vẫn nhìn thấy activity cũ): xảy ra sự kiện onPause với activity cũ. Khi quay trở về Activity cũ thì sau khi thực hiện xong các hàm cần thiết, chắc chắn nó phải gọi hàm onResume để phục hồi lại trạng thái ứng dụng, ta thường lưu lại trạng thái của ứng dụng trong sự kiện onPause và đọc lại trạng thái ứng dụng trong sự kiện onResume. 

4. Tasks là gì?
Task là khả năng thực hiện một công việc nào đó giữa các ứng dụng với nhau, cụ thể là các Activity.
Ví dụ: mở một chương trình quản lý BlackList co phép mở danh bạ để đưa vào danh sách đen. Lúc đó chương trình sẽ gọi activity ứng dụng dnah bạn, sau khi lấy xong lại trở về ứng dụng của bạn, hai ứng dụng hoàn toàn độc lập với nhau.

vòng đời của ứng dụng android - khóa học lập trình android

5. Life Cycle States hay chu kì sống của ứng dụng android là gì?
Vòng đời của activity thường có 3 trạng thái cơ bản sau:

vòng đời của ứng dụng android - khóa học lập trình android

Running (đang kích hoạt): khi màn hình là Foreground(act nằm trên cùng ứng dụng và cho phép người dùng tương tác) 
Paused (tạm dừng): Act bị mất focus những vẫn nhìn thấy được act này. Trường hợp này nó vẫn có khả năng bị hệ thống tự động “xóa bỏ” nếu bộ nhớ quá ít. 
Stopped (dừng – không phải là destroyed): Act mất focus và không nhìn thấy được. Trong trường hợp này nó có thể bị hệ thống “xử” trong bất kì tính huống nào. 
Trong vòng đời của ứng dụng cần phân biệt 2 loại:

vòng đời của ứng dụng android - khóa học lập trình android

Visible Lifetime: xảy ra từ sau khi gọi onStart cho tới lúc gọi onStop: trong trường hợp này ta vẫn có thể thấy màn hình Act (có thể tương tác khi nó là foreground, không tương tác được khi nó không phải là foreground). 
Foreground Lifetime: xảy ra từ lúc gọi onResume cho tới lúc gọi onPause: trong suốt thời gian này Act luôn nằm trên cũng và có thể tương tác được với nó. 
Chúng ta đã tiềm hiểu xong những khái niệm liên quan đến vòng đời của một ứng dụng android. Đặc biệt trong phần này, các bạn hết sức chú ý, cần tìm hiểu rõ về Life time Cycle để có ích cho việc quản lý ứng dung sau này khi bạn học lập trình ứng dụng android.



0 nhận xét:

Copyright © 2013 ĐÀO TẠO LẬP TRÌNH TẠI HÀ NỘI and Blogger Templates - Anime OST.