Đây là cách Android CHẠY NỀN và đa nhiệm

AlarmManager cũng là một thư viện chạy ngầm nhưng dùng cho những tác vụ cần phải kích hoạt vào đúng một thời điểm nào đó. Ví dụ, đúng 8h sáng thì tác vụ đó phải chạy lên để thông báo, để gửi email…

DownloadManager thì – như cái tên đã gợi ý – chuyên dùng cho những tác vụ cần download file từ máy chủ về. Đây là thư viện giúp bạn vẫn có thể download được file ngay cả khi đã thoát trình duyệt và chuyển sang dùng một app khác trên điện thoại Android. Tác vụ chạy ngầm download file này chắc bạn sẽ thấy thường xuyên nè. Nó cũng hỗ trợ download lại nếu lỡ nữa chừng bị đứt hoặc máy bị khởi động lại.

Chạy nền khác với đa nhiệm nha

Nãy giờ mình giải thích với anh em là về cơ chế chạy nền của app (background task). Còn cơ chế quản lý multi task của Android thì khác. Sẵn mình nói luôn cho anh em biết nhé.

Mỗi khi bạn chạy một app, Android sẽ đưa app của bạn vào một “chồng app”. Cứ thêm 1 app được chạy lên thì app này sẽ nằm lên trên cùng của chồng này (gọi là back stack). Bạn có thể thấy hình dáng của back stack bằng cách nhấn nút Recent Apps, khi đó app mới chạy gần nhất sẽ nằm trên cùng.

Có một số app sẽ khởi động nhiều tác vụ khác nhau. Ví dụ, nếu bạn dùng Gmail thì một màn hình có thể hiển thị danh sách email, và khi bạn nhấn vào nút soạn thảo thì nó ra một màn hình khác. Màn hình soạn thảo này cũng được đưa vào back stack, nên khi bạn nhấn back thì nó sẽ quay trở lại màn hình danh sách email. Nhấn back thêm lần nữa, nó sẽ thoát app Gmail và chuyển sang app trước đó bạn dùng.

Da_nhiem_android.jpg

Android tất nhiên có cơ chế để xóa các app đã lâu không còn sử dụng để giải phóng bộ nhớ. Khi đó, nó chỉ để lại hành động đầu tiên của app (trong ví dụ Gmail trên, thì màn hình danh sách email là hành động đầu tiên – root activity. Nếu bạn đã mở màn hình soạn thảo nhưng lại không xài, sau một thời gian hãy quay lại app Gmail bạn sẽ được đưa về màn hình danh sách email). Đây là tình trạng “load lại” mà anh em hay nói tới.

Android làm điều này dựa trên giả định rằng nếu bạn mở một màn hình mà rất lâu không sử dụng thì khả năng cao là bạn đã bỏ nó luôn rồi, không làm việc đó nữa. Lần sau quay lại, bạn sẽ bắt đầu lại từ đầu.

Một số app có thể thiết lập để Android luôn lưu giữ đầy đủ trạng thái của nó ngay cả sau một thời gian rất dài nằm trong back stack. Một số khác thì luôn mặc định “load lại” bất kể khi nào bạn rời app và vào lại. Cái này thì tùy thuộc vào nhà phát triển.

Qua đây hi vọng anh em đã hiểu hơn về cơ chế chạy app của Android về mặt đa nhiệm và chạy ngầm. Chúc anh em vui.

cũng là một thư viện chạy ngầm nhưng dùng cho những tác vụ cần phải kích hoạt vào đúng một thời điểm nào đó. Ví dụ, đúng 8h sáng thì tác vụ đó phải chạy lên để thông báo, để gửi email…thì – như cái tên đã gợi ý – chuyên dùng cho những tác vụ cần download file từ máy chủ về. Đây là thư viện giúp bạn vẫn có thể download được file ngay cả khi đã thoát trình duyệt và chuyển sang dùng một app khác trên điện thoại Android. Tác vụ chạy ngầm download file này chắc bạn sẽ thấy thường xuyên nè. Nó cũng hỗ trợ download lại nếu lỡ nữa chừng bị đứt hoặc máy bị khởi động lại.

5/5 - (1 vote)
Banner-backlink-danaseo

Bài viết liên quan

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments