1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài Tập Nhóm Đề Tài Ứng Dụng Và Vòng Đời (Applications Và Life Cycle).Pdf

16 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Ứng Dụng Và Vòng Đời (Applications Và Life Cycle)
Tác giả Võ Minh Chí, Lê Anh Quốc, Trần Minh Tâm
Người hướng dẫn PTS. Trần Anh Tuấn
Trường học Học Viện Hàng Không Việt Nam
Chuyên ngành Lập Trình Thiết Bị Di Động
Thể loại Bài Tập Nhóm
Năm xuất bản 2023
Thành phố TP.Hồ Chí Minh
Định dạng
Số trang 16
Dung lượng 3,32 MB

Nội dung

3 2.4 Làm quen với từng callback...3 4.Hành vi nhấn lùi cho các hoạt động của trình chạy gốc...5 5.Thao tác trong nền và nền trước...5 V.VONG ĐỜI TRẠNG THÁI...6 - Applications: Android P

Trang 1

BỘ GIAO THÔNG VẬN TẢIHỌC VIỆN HÀNG KHÔNG VIỆT NAM

BÀI TẬP NHÓM ĐỀ TÀI: “ỨNG DỤNG VÀ VÒNG ĐỜI (APPLICATIONS VÀ

Trang 2

Mục Lục

I ỨNG DỤNG (APPLICATIONS) 2

II.PHƯƠNG THỨC HOẠT ĐỘNG (ACTIVITIES) 2

2.1 Sơ đồ 3

2.2 Biên niên sử về vòng đời ứng dụng 3

2.3 Vòng đời của Activity 3

2.4 Làm quen với từng callback 3

4.Hành vi nhấn lùi cho các hoạt động của trình chạy gốc 5

5.Thao tác trong nền và nền trước 5

V.VONG ĐỜI TRẠNG THÁI 6

- Applications: Android Project khi được biên dịch thành công sẽđược đóng gói thành tập tin *.apk, tập tin này được gọi là mộtApplication

- Một application có thể có một hoặc nhiều Activity, mỗi Activity,mỗi Activity sẽ có một vòng đời riêng độc lập hoàn toàn với cácActivity khác (Ngôi nhà và các cửa sổ)

Trang 3

- Khi tạo mới một Activity nào đó cần phải khai báo, và trong nhiềuActivity sẽ có một Activity chay chính (Activity xuất hiện đầutiên) Các phần khai báo này được thực hiên trong AndroidManifest.xml.

2.1 Sơ đồ

Trang 4

Mô tả: Sơ đồ bắt đầu từ khi Activity launched, tức là khi Activity đượckích hoạt, và được hệ thống đẩy vào BackStack Sau khi kích hoạt, lầnlượt các callback onCreate(), onStart(), onResume() sẽ được hệ thống gọiđến.

Sau khi gọi đến các callback trên, thì Activity mới chính thức được xem

Lúc này, nếu có bất kỳ Activity nào khác chiếm quyền hiển thị, thì

Trang 5

Activity hiện tại sẽ rơi vào trạng thái onPause() Nếu sự hiển thị củaActivity khác làm cho Activity mà chúng ta đang nói đến không còn nhìnthấy nữa thì onStop() sẽ được gọi ngay sau đó Nếu Acvitity đã vàoonPause() rồi, tức là đang bị Activity khác đè lên, mà người dùng sau đóquay về lại Activity cũ, thì onResume() được gọi Còn nếu Activity đãvào onStop() rồi, mà người dùng quay về lại Activity cũ thì onRestart()được gọi Trong cả hai trường hợp Activity rơi vào onPause() hoặconStop(), nó sẽ rất dễ bị hệ thống thu hồi (tức là bị hủy) để giải phóng tàinguyên, khi này nếu quay lại Activity cũ, onCreate() sẽ được gọi chứkhông phải onResume() hay onRestart() Và cuối cùng, nếu một Activitybị hủy một cách có chủ đích, chẳng hạn như người dùng nhấn nút Back ởSystem Bar, hay hàm finish() được gọi,… thì onDestroy() sẽ được kíchhoạt và Activity kết thúc vòng đời của nó.

2.2 Biên niên sử về vòng đời ứng dụng

Trong trường hợp lý tưởng nhất có thể, tất cả các ứng dụng Android saukhi chạy đều được lưu lại trong bộ nhớ (cụ thể là RAM), để sau này ứngdụng có thể khởi động lại nhanh hơn

Tuy nhiên trên thực tế, các thiết bị di động có tài nguyên phần cứng kháhạn chế, về cả RAM, tốc độ xử lý,… và vì vậy ứng dụng nào ít được sửdụng sẽ bị hủy tiến trình chạy nhằm thu hồi bộ nhớ

Quy tắc thu hồi bộ nhớ của Android rất đơn giản: Các tiến trình ứngdụng sẽ được thu hồi theo một thứ tự ưu tiên nhất định Và thứ tự ưu tiên

Trang 6

đó là:

=>Tất cả những ứng dụng trong danh sách “Rỗng” sẽ được đưa vàodanh sách LRU (Least-Recently Used – Ít sử dụng gần đây nhất) và cáctiến trình ở đầu danh sách này sẽ bị hủy nếu được yêu cầu từ hệ thống.Nếu ứng dụng được gọi lại bởi người dùng, chúng sẽ lại được đưa xuốngcuối danh sách LRU

Trang 7

2.3 Vòng đời của Activity

Các trạng thái chính trong vòng đời activity:

2.4 Làm quen với từng callback

Trang 8

2.5 SavedInstanceStateSavedInstanceState cũng là một trong các thành phần của trạng thái

trong vòng đời của một Activity Đây là…

 Một loại dữ liệu không bền vững

 Không được lưu trữ cụ thể trong đâu ngoài bộ nhớ RAM

 Nó được sử dụng để truyền, phục hồi, lưu trạng thái của một Activity

Tuy nhiên Các bạn có biết rằng, một Activity, khi đổi chiều xoay màn hình và Activity đó có hỗ trợ chế độ ngang (landscape) thì cả Activity đó sẽ bị destroy

 Lấy ví dụ đơn giản: Bạn viết một app máy tính bỏ túi đơn giản, chỉcó cộng trừ Sau khi tính xong phép tính 2+3=5, bạn xoay màn hình, phép tính biến mất

o Dữ liệu trong savedInstanceState được lưu dưới dạng Bundle

Trang 9

o Được phục hồi khi phương thức onCreate onRestoreSavedInstanceState được gọi.

o Được lưu trước onStop, với phương thức onSaveInstanceState

1 Khái Niệm

Activity Stack trong ứng dụng Android là một cấu trúc dữ liệu “last in,first out” (LIFO) mà trong đó các hoạt động được xếp chồng lên nhautheo thứ tự mà chúng được mở

Activity stack là một khái để quản lý danh sách các activity mà ngườidùng đang sử dụng trong ứng dụng Nó là một ngăn xếp (stack) lưu trữcác activity được tạo ra và thêm vào khi người dùng di chuyển giữa cácmàn hình

Trang 10

2 Vòng đời của activity stack như sau:

1 Khi người dùng mở ứng dụng, main activity được tạo và đẩy vào activity stack

2 Khi người dùng mở activity khác, activity mới được tạo và đẩy lên trên activity stack

3 Khi người dùng nhấn nút Back, activity ở trên cùng của activity stack (Activity C) sẽ bị xóa khỏi activity stack và người dung quay về activity B

4 Nếu người dung sẽ tiếp tục nhấn nút Back, activity B sẽ bị xóa khỏi activity stack và người dung quay về main activity

5 Khi activity stack rỗng, ứng dụng sẽ được đóng

Việc quản lý activity stack giúp ứng dụng Android theo dõi và quản lý các activity được tạo ra một cách hiệu quả, đồng thời cung cấp trải nghiệm người dùng tự nhiên khi dùng nút Back

Trang 11

IV.TASKS(TÁC VỤ)1 Khái niệm

Task là một tập hợp gồm những hoạt động mà người dùng tương tác khi cố gắng làm việc gì đó trong ứng dụng của bạn Các hoạt động này đượcsắp xếp trong một ngăn xếp gọi là ngăn xếp lui theo thứ tự mở từng hoạt động

Ví dụ: một ứng dụng email có thể có một hoạt động để hiển thị danh sách các tin nhắn mới Khi người dùng chọn một thông báo, một hoạt động mới sẽ mở ra để xem thông báo đó Hoạt động mới này được thêm vào ngăn xếp lui Sau đó, khi người dùng nhấn hoặc cử chỉ Quay lại, hoạt động mới đó sẽ kết thúc và được kéo ra khỏi ngăn xếp

2 Vòng đời của một tác vụ và ngăn xếp lui

Màn hình chính của thiết bị là nơi bắt đầu cho hầu hết các tác vụ Khi người dùng chạm vào biểu tượng của một ứng dụng hoặc lối tắt trong trình chạy ứng dụng hoặc trên Màn hình chính, nhiệm vụ của ứng dụng đó sẽ chuyển sang nền trước Nếu không có tác vụ nào cho ứng dụng, thìmột tác vụ mới sẽ được tạo và hoạt động chính của ứng dụng đó sẽ mở ra dưới dạng hoạt động gốc trong ngăn xếp

Khi hoạt động hiện tại bắt đầu một hoạt động khác, hoạt động mới sẽ được đẩy lên đầu ngăn xếp và lấy làm tâm điểm Hoạt động trước đó vẫnở trong ngăn xếp nhưng bị dừng Khi một hoạt động dừng, hệ thống vẫn giữ nguyên trạng thái hiện tại của giao diện người dùng Khi người dùngthực hiện thao tác quay lại, hoạt động hiện tại sẽ được đẩy ra từ đầu ngăn xếp và bị huỷ bỏ Hoạt động trước đó sẽ tiếp tục và trạng thái trướcđó của giao diện người dùng sẽ được khôi phục

Trang 12

Các hoạt động trong ngăn xếp không bao giờ được sắp xếp lại, chỉ được đẩy lên và đẩy ra khỏi ngăn xếp khi chúng được hoạt động hiện tại bắt đầu và bị người dùng loại bỏ thông qua nút Quay lại hoặc cử chỉ Do đó, ngăn xếp lui hoạt động như một cấu trúc đối tượng vào sau, ra trước Hình sau cho thấy một tiến trình với các hoạt động được đẩy lên và đẩy ra từ ngăn xếp lui.

Khi người dùng tiếp tục nhấn hoặc cử chỉ Quay lại, mỗi hoạt động trong ngăn xếp sẽ bật ra để hiển thị hoạt động trước đó, cho đến khi người dùng quay lại Màn hình chính hoặc cho bất kỳ hoạt động nào đang chạy khi tác vụ bắt đầu Khi tất cả hoạt động bị xoá khỏi ngăn xếp, tác vụ sẽ không còn tồn tại nữa

Trang 13

• Package: Đóng gói ứng dụng vào các tệp APK để chuẩn bị cho việc phân phối hoặc triển khai.

• Deploy: Triển khai ứng dụng lên cửa hàng ứng dụng hoặc thiết bị mục tiêu

• Version Control: Quản lý mã nguồn thông qua hệ thống kiểm soát phiên bản như Git để theo dõi các thay đổi và làm việc cộng tác với nhóm phát triển

4 Hành vi nhấn lùi cho các hoạt động của trình chạy gốc

Hoạt động của trình chạy gốc là các hoạt động khai báo bộ lọc ý định với cả ACTION_MAIN và CATEGORY_LAUNCHER Các hoạt động này là duy nhất vì chúng đóng vai trò là điểm truy cập vào ứng dụng từ trình chạy ứng dụng và được dùng để bắt đầu một tác vụ

Khi người dùng nhấn hoặc cử chỉ Quay lại từ một hoạt động của trình chạy gốc, hệ thống sẽ xử lý sự kiện này theo cách khác nhau tuỳ thuộc vào phiên bản Android mà thiết bị đang chạy

5 Thao tác trong nền và nền trước

Hai nhiệm vụ: Nhiệm vụ B nhận hoạt động tương tác của người dùng ởnền trước, còn Nhiệm vụ A ở chế độ nền và đang chờ tiếp tục

Tác vụ là một đơn vị gắn kết có thể di chuyển tới nền khi người dùng bắtđầu một tác vụ mới hoặc chuyển đến Màn hình chính Khi ở chế độ nền,mọi hoạt động trong tác vụ sẽ dừng lại, nhưng ngăn xếp lui cho tác vụvẫn còn nguyên – tác vụ sẽ mất tiêu điểm trong khi một tác vụ khác diễnra, như trong hình 2 Sau đó, một tác vụ có thể quay lại nền trước đểngười dùng có thể tiếp tục từ nơi họ đã dừng lại

Trang 14

Hãy xem xét luồng tác vụ sau đây cho Nhiệm vụ A hiện tại có ba hoạt động trong ngăn xếp, bao gồm 2 hoạt động trong hoạt động hiện tại:

Hãy xem xét luồng tác vụ sau đây cho Nhiệm vụ A hiện tại có ba hoạt động trong ngăn xếp, bao gồm 2 hoạt động trong hoạt động hiện tại:

Người dùng sử dụng nút Màn hình chính hoặc cử chỉ, sau đó khởi động một ứng dụng mới từ trình chạy ứng dụng

Khi Màn hình chính xuất hiện, Nhiệm vụ A sẽ chuyển sang chế độ nền Khi ứng dụng mới khởi động, hệ thống sẽ bắt đầu một tác vụ cho ứng dụng đó (Tác vụ B) bằng ngăn xếp hoạt động riêng

Sau khi tương tác với ứng dụng đó, người dùng sẽ quay lại Màn hình chính một lần nữa và chọn ứng dụng đã bắt đầu Nhiệm vụ A ban đầu

Vòng đời hoạt động (Activity Lifecycle) là một khái niệm cơ bản trongAndroid, nó mô tả các trạng thái mà một hoạt động có thể chuyển quatrong suốt thời gian tồn tại của nó1 Vòng đời kéo dài từ khi hoạt độngđược tạo ra lúc ban đầu cho đến khi bị huỷ và khi hệ thống thu hồi tàinguyên của hoạt động đó12

Trang 15

Khi người dùng di chuyển giữa các hoạt động trong ứng dụng (cũng nhưvào và ra khỏi ứng dụng), các hoạt động sẽ chuyển đổi giữa nhiều trạngthái trong vòng đời của chúng.

- Vòng đời của activity là chuỗi các trạng thái mà một activity trảiqua từ khi được tạo cho đến khi bị đóng

- Vòng đời của activity được quản lý bởi hệ điều hành Android.- Hệ điều hành Android chịu trách nhiệm tạo ra các activity, khởiđộng và dừng các activity, quản lý tài nguyên bộ nhớ và đảm bảo rằngcác activity hoạt động chính xác

- Một activity về căn bản có ba trạng thái:• Active / running: đang ở tại foreground của màn hình (trên đỉnhcủa activity stack), đang chạy

• Paused: mất focus, vẫn được hiển thị trên màn hình nhưng mộtactivity khác đang nằm trên nó và cái activity mới này hoặc có nền trongsuốt hoặc không phủ kín màn hình Một activity ở trạng thái paused cóthể bị hệ thống kill nếu ở tình trạng rất thiếu bộ nhớ

• Dừng (stopped) bị một activity khác che khuất hoàn toàn Nó vẫngiữ tất cả các thông tin về trạng thái và member Hệ thống thường kill nónếu cần bộ nhớ cho việc khác

Ngày đăng: 17/09/2024, 15:59

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w