Header ads

Header ads
» » iOS quản lý chạy nền ra sao và Background App Refresh là gì?

Sẵn đang tìm hiểu về chức năng chạy ngầm của iOS, mình viết bài này để chia sẻ với anh em về cách mà iOS chạy ngầm, và tính năng Background App Refresh - cho phép app làm nội dung ngay cả khi bạn không mở nó - liệu có giúp tiết kiệm được nhiều pin như cách mà chúng ta hay nói "coi chừng app chạy ngầm làm hao pin nha mày".

Cách iOS quản lý chạy nền

Theo định nghĩa trên website Apple:

Khi người dùng không đang sử dụng app, hệ thống sẽ đưa app vào một trạng thái gọi là "chạy nền" (background). Với nhiều app, trạng thái chạy nền là một đợt dừng tạm thời trước khi nó bị tắt hoàn toàn (suspended). Các app đã bị ngừng sẽ giúp hệ thống cải thiện thời gian dùng pin, hệ thống cũng có thể di chuyển tài nguyên quan trọng cho những app mới chạy mà người dùng đang sử dụng.

Đa số các app có thể nhanh chóng bị hủy nhưng cũng có những app có thể tiếp tục chạy dưới nền nếu nó có lý do phù hợp. Ví dụ, một ứng dụng theo dõi đi bộ vẫn có thể lấy dữ liệu vị trí của người djn2g theo thời gian để rồi hiển thị lên một bản đồ. Một ứng dụng nghe nhạc có thể tiếp tục chơi nhạc và hiển thị widget lên màn hình khóa. Các app khác có thể âm thầm download nội dung khi người dùng chạy lên thì không tốn nhiều thời gian để tải nữa.

iOS tổ chức việc chạy ngầm thành 3 loại:

  • Các ứng dụng đang chạy dở một tác vụ nào đó và bị người dùng thoát ra, nó có thể yêu cầu hệ thống cho thêm thời gian để hoàn thành tác vụ này
  • Các ứng dụng đang download dữ liệu khi người dùng chạy có thể bàn giao những dữ liệu download này cho iOS, khi đó app có thể bị tắt hẳn mà việc download không bị ngắt
  • Ứng dụng cần chạy nền để hỗ trợ một số loại tác vụ đặc biệt
Apple có nói kĩ rằng lập trình viên cần tránh chạy nền trừ khi việc đó thật sự cải thiện trải nghiệm của người dùng, và khi người dùng tắt máy hay khi họ chuyển sang app tức là họ đang cho thấy họ không còn dùng app của bạn trong lần này nữa. Nếu vẫn cố gắng chạy, người dùng có thể đóng hẳn app của bạn.

Background App Refresh


Riêng về tính năng Background App Refresh (BAR), nó có thể được xem như một nhánh con của toàn bộ hệ thống chạy ngầm trên iOS. BAR không cho phép ứng dụng chạy ngầm liên tục, thay vào đó nó bổ sung thêm một lớp thông minh để quản lý việc chạy ngầm của điện thoại. Và lại theo Apple giải thích:

Một ví dụ rõ ràng của BAR đó là các ứng dụng email. Khi có thông báo email mới đã vào hộp thư của bạn, app email có thể âm thầm tải trước nội dung của email này về, để khi bạn nhấn vào thông báo thì thư đã sẵn sàng và bạn không phải đợi download gì nữa.

Đang tải 4065428_home_da_nhiem_iPad_iOS_11.jpg…

Dropbox cũng là một app khai thác BAR theo cách khá tốt. Mặc định file upload của bạn, hay các hình ảnh cần backup lên Dropbox, chỉ được upload một thời gian ngắn sau khi bạn đóng ứng dụng này lại. Để "kích" lại quy trình upload, Dropbox sử dụng Location Services, tính năng cho phép app truy cập vào dữ liệu địa lý của máy. Khi Dropbox nhận thấy có thay đổi lớn về vị trí địa lý, ví dụ khi bạn chạy từ đầu đến cuối con đường, app sẽ kích hoạt quá trình upload tiếp tục những file còn dang dở. Đây không phải là cách chính thống, nhưng Dropbox, OneDrive đang dùng nó. Google Photos cũng có triển khai một cách nào đó tương tự nhưng mình vẫn chưa thấy ổn lắm, khi được khi không.

Ủa mà tại sao lại gọi BAR là thông minh? Đó là do các bản iOS gần đây BAR được bổ sung tính năng theo dõi và học hỏi để biết khi nào thì nên cho phép app cập nhật dữ liệu. Nó học từ thời gian bạn dùng app, thời điểm bạn dùng thiết bị trong ngày, tần suất cầm máy là bao nhiêu... trước khi đưa ra quyết định. Và vì đây là một thuật toán thông minh nên nó sẽ liên tục hỏi học thói quen dùng máy của bạn.

Có nên bật Background App Refresh?

Trang SolutionOwl gợi ý 2 câu hỏi mà mình cho là khá hay để quyết định xem có nên cho phép 1 app nào đó sử dụng BAR hay không.

1. Bạn có thường kiểm tra, mở app này nhiều đến mức cần nó liên tục cập nhật?
2. Bạn có tin tưởng nhà phát triển app này trong việc triển khai BAR một cách đúng đắn và không lợi dụng nó? (tùy chọn, không bắt buộc)

Câu số 1 thì rõ ràng quá rồi. Ví dụ, email là thứ bạn cần cập nhật càng nhanh càng tốt, khi nào có thì phải hiển thị cho bạn xem ngay, chậm 1 phút cũng có thể mất tiền, thì rõ ràng tắt BAR cho app email ưa thích của bạn là một quyết định không hay.

Câu số 2 thì khó trả lời hơn, nó phụ thuộc vào nhà phát triển này là ai, uy tín của họ ra sao, các app khác của họ có gây hao pin hay không... Nếu bạn không biết làm sao để trả lời câu 2 thì cứ kệ nó, không cần quan tâm tới nó nữa, để ý câu 1 thôi.

Đang tải iPad-Background-App-Refresh.jpg…

Với mình thì mình không tin vào những công ty lớn như Facebook, Google do mình không phải là khách hàng của họ, không phải là người trả tiền để họ sống, họ chỉ cho mình coi quảng cáo mà thôi nên thường mình hay tắt BAR của những ứng dụng đến từ 2 công ty này. Riêng Facebook thì mình cho phép Facebook Messenger cập nhật thông tin.

Vậy tắt bật BAR có giúp tiết kiệm pin không? Có thể có, có thể không, nhưng có thì cũng không nhiều lắm. Những thứ khác hao pin hơn như màn hình, mạng di động, loa ngoài, vi xử lý... khiến việc tiêu hao điện của BAR không đáng là bao. Nếu thật sự lo về việc tiêu thụ năng lượng, có nhiều thứ khác bạn cần phải để ý tới hơn. Và trong nhiều trường hợp, BAR có thể cải thiện thời gian dùng pin do nó ngăn không cho app liên tục kết nối lên máy chủ để lấy dữ liệu.

Còn bạn thì sao? Bạn có bật tắt Background App Refresh cho app nào không?
 



Cập nhật công nghệ từ Youtube tại link: https://www.youtube.com/channel/UCOxeYcvZPGf-mGLYSl_1LuA/videos
Để tham gia khóa học công nghệ truy cập link: http://thuvien.hocviendaotao.com
Mọi hỗ trợ về công nghệ email: dinhanhtuan68@gmail.com

About Học viện đào tạo trực tuyến

Xinh chào bạn. Tôi là Đinh Anh Tuấn - Thạc sĩ CNTT. Email: dinhanhtuan68@gmail.com .
- Nhận đào tạo trực tuyến lập trình dành cho nhà quản lý, kế toán bằng Foxpro, Access 2010, Excel, Macro Excel, Macro Word, chứng chỉ MOS cao cấp, IC3, tiếng anh, phần mềm, phần cứng .
- Nhận thiết kế phần mềm quản lý, Web, Web ứng dụng, quản lý, bán hàng,... Nhận Thiết kế bài giảng điện tử, số hóa tài liệu...
HỌC VIỆN ĐÀO TẠO TRỰC TUYẾN:TẬN TÂM-CHẤT LƯỢNG.
«
Next
Bài đăng Mới hơn
»
Previous
Bài đăng Cũ hơn