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

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:

App có thể tiếp tục chạy một thời gian ngắn sau khi đã bị thoát và bị đóng. Khi người dùng quay trở lại, app sẽ ngay lập tức chạy lên. Một số tác vụ nhất định có thể tiếp tục chạy ngầm mà không bị ngắt bởi hệ thống (đã giải thích ở trên). Và để giảm ảnh hưởng tới pin, việc làm mới nội dung trnog nền sẽ chỉ chạy khi đạt tới một mốc thời gian nhất định, không điện thoại được kết nối vào Wi-Fi, được kết nối vào ổ cắm điện, hoặc khi nó đang được dùng một cách tích cực. BAR cũng được kích hoạt dựa trên vị trí địa lý tùy app cần hay không.

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.

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 ?

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

5/5 - (1 vote)

Bài viết liên quan

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments