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

Duy Luân
10/6/2018 0:55Phản hồi: 122
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.

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?

Quảng cáo



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.

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.

Quảng cáo



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?
122 bình luận
Chia sẻ

Xu hướng

Xin hỏi thời gian viết bài hiện chỗ nào vậy mọi người? Hồi trước còn thấy, giờ không thấy nữa.
@nobitathoinay Từ 2 năm nay nó đã không còn hiện trên mobile rồi bác 😁
@Duy Luân Vài ngày trước vẫn hiện ở cuối bài viết đó. Mình hay để ý thời gian bài viết nên hôm nay không thấy mới thắc mắc 😃
@nobitathoinay à, cái phần cuối bài viết nó không xuất hiện trong design mới. Bọn mình đang làm lại phần top page, sẽ cho thời gian lên đó luôn nhé
dieptit
ĐẠI BÀNG
6 năm
@Duy Luân Duy Luân: sửa luôn bài viết nằm trong mục nào cũng không hiện trên mobile nữa nhé.
Em mua iPhone mới, đăng nhập với iCloud, đặt password máy và giới hạn, đăng nhập wifi. Cài app và cứ thế dùng thôi. Hệ thống thì để Apple lo. Rảnh lúc nào sạc lúc đó nên chẳng lo vấn đề pin.
ios quản lý nền rất ok.ko bị ăn pin ngầm như androi
@nguyenmanh287 Về pin thì thấy có LG là sụt nhanh khi ko sử dụng thôi, còn lại dùng một số loại ko thấy vấn đề gì. Cơ bản pin thường to hơn nên dùng vẫn đã.
Mik13
ĐẠI BÀNG
6 năm
@flower_cutter Có hay không trường hợp dù không có internet nhưng app vẫn âm thầm record lại đối thoại, sau đó khi có internet connectivity thì sẽ đưa ra suggestion? Mình không rành về vấn đề này, nhưng cách nói chuyện mỉa mai của bạn đọc thấy khó chịu quá.
hoangesc
TÍCH CỰC
6 năm
@Pinochio Pinochio Mình dùng Iphone 8 plus dc 4 tháng nay thì cả đêm chẳng mất % nào với điều kiện như bạn nói 😁
@hoangesc Ờ, cái ipad mình xài pin chờ cũng tốt ghê có lúc để 2 ngày không xài mà nó chả tụt % nào
xversion1
TÍCH CỰC
6 năm
Dùng iPhone ghét nhất là iCloud thì ít dung lượng, mà mấy cloud khác để backup photo thì nó ko chạy ngầm nên cứ chụp ảnh xong lại phải mở app để nó lên mây, rất bất tiện. Lắm lúc quên hoặc ko có mạng, nhỡ máy làm sao dễ mất ảnh như chơi.
@nguyenmanh287 Nó hút máu chứ hông phải ki bo..
xversion1
TÍCH CỰC
6 năm
@ph@m.duy Em bật định vị 24/7 mà có thấy nó tải lên đâu, tốn pin? Vẫn phải mở app nó mới tải.
ph@m.duy
TÍCH CỰC
6 năm
@xversion1 Bạn vào onedrive mục cài đặt có phần tải lên trong nền
Elv1es
ĐẠI BÀNG
6 năm
@xuanlong1966 Ki bo là sao bạn, bạn có quyền dùng hoặc không dùng, dùng thì phải trả tiền.
akb48
TÍCH CỰC
6 năm
đa nhiệm và độ mượt thì iOS vẫn là đỉnh nhất còn tốc độ push mail và mở app giờ thì android bá đạo, quá nhanh.
h.hung
CAO CẤP
6 năm
@Duy Luân outlook nó ko push các thư mục nhỏ Luân ah.
Nó chỉ push tới mục inbox, mình tạo các folder và rules mới nó ko hiểu hay sao í
vuquan2008
ĐẠI BÀNG
6 năm
@Duy Luân Cái vụ này phụ thuộc mạng chứ nhỉ? Xử lý cái pushmail là muỗi với mọi máy bây giờ. Không thể so sánh.
vuquan2008
ĐẠI BÀNG
6 năm
@h.hung Vụ này là do app bạn ơi. Chính vì cái này mà mình mê thằng HTC, đặc biệt khi dùng Exchange. Samsung thì sau khi cài lần đầu, đồng bộ các thư mục xong thì phải vào set chế độ push cho từng thư mục, muốn xem chung mọi mail (của mọi thư mục) trong 1 folder thì không được trừ Unread. Còn cái thằng mail của HTC thì mặc định push toàn bộ các folder, lại còn có 1 folder ảo để xem toàn bộ mail trong đó. Mail của iOS, Outlook for Android, Outlook for iOS cũng không làm được. Chỉ mỗi HTC. Còn các thằng TQ thì mình chưa thử nên ko biết.
Nói chung là nó chạy nền ra sao thì cũng không liên quan đến người sử dụng hết. Có như nào thì cứ để vậy mà dùng .Không nên thêm mắm hay bớt muối làm chi cho mệt hơi.
ok_never
TÍCH CỰC
6 năm
@Emranhieulam1990 Đúng là nhà sản xuất luôn cố gắng đơn giản hoá để người dùng không cần tốn quá nhiều thời gian để làm quen thiết bị. Nhưng nếu người dùng có thể nắm được sơ lược nguyên lý hoạt động và ý nghĩa của từng tính năng thì sẽ giúp sử dụng thiết bị hiệu quả hơn, phát huy toàn bộ công năng của nó
@Emranhieulam1990 thế nên mới có mấy bài đăng hỏi đáp lỗi này lỗi kia khá vớ vẩn vì nó có thể khắc phục trong vài cái thao tác. Có thế nào thì dùng thế đấy thì cũng ổn thôi, nhưng NSX đã để ra các tùy chọn là họ đã phân tích dữ liệu người dùng và thấy rằng có một lượng nhất định cần cái tùy chỉnh đó. Và đó là lí do người dùng nên có hiểu biết để tùy chỉnh cho vừa ý mình nhất.
ok_never
TÍCH CỰC
6 năm
Bài viết hay, hồi xưa có đọc trên trang chủ Apple nhưng chưa hiểu rõ lắm 😁
Cơ bản thì vẫn thích khả năng quản lý app chặt chẽ của iOS.
lethangk47
TÍCH CỰC
6 năm
nói chung là nó ngon cứ chạy và chạy. ko quan tâm làm gì mấy cái khác
Bật Background App Refresh hao pin
Vậy hỏi mọi người lí do của thao tác Home x2 mở các ứng dụng chạy ngầm/chạy gần đây rồi thoát tất cả mỗi khi bật màn hình lên là để làm gì?

Mỗi lần thấy cảnh này chắc bất lực để giải thích cho họ hiểu nó không có tác dụng gì mất.
Giờ nghĩ ra mỗi câu để hỏi lại họ: tại sao Apple không làm thao tác đó hộ bạn để bạn phải mất mấy cái vuốt vuốt?
@Ngô Tùng Dương Do họ rảnh, do thói quen, do được dạy thế 😁 mình thấy nhiều lắm haha
Thien Quoc
TÍCH CỰC
6 năm
@Duy Luân Xả stress nữa đấy, bạn mình có thói quen khi đang suy nghĩ gì đó lại bấm cái quản app rồi vuốt đi từng cái. Có khi chả còn app nào cả cũng bấm mở app lên rồi lại qua để vuốt bỏ.
dieucancel
ĐẠI BÀNG
6 năm
@Thien Quoc 😁
dieucancel
ĐẠI BÀNG
6 năm
@Ngô Tùng Dương nó có tác dụng mà, minh để ý rất nhiều mỗi lần dien thoại ip chạy hồi bị nóng hoạc do ap nào đó dang sung đột vuốt tát hết là tự nhiên máy ko phát nóng nữa... suy ra nó co tác dụng máy lần cứ đẻ thì nó cứ nóng nhung vuot tắt hét là ngay lạp tức có tác dụng ngay ko bị nóng liền
@dieucancel Làm thao tác đó lúc nghỉ trưa, cuối ngày, hay thậm chí cuối tuần, thì không sao, nhưng nếu mà bật mỗi cái Settings, Tin nhắn, Facebook, mà nóng máy để mỗi lần bật máy là phải thoát, thì kĩ sư Apple có thêm công ăn việc làm rồi đấy ;)
skamylove
ĐẠI BÀNG
6 năm
Mình tắt làm mới trong nền và vẫn nhận thông báo mọi ứng dụng tức thời....không thấy trễ...nhất là gmail ;)
brits
TÍCH CỰC
6 năm
@skamylove refresh khác với push notification nhé
@skamylove Em tắt rồi bật lại không được, phải cài lại này
nvking
ĐẠI BÀNG
6 năm
Bạn nghiên cứu về "Dịch vụ định vị" trên ios xem cách thức hoạt động của nó, như: có làm app được phép truy cập vị trí ở chế độ "luôn luôn" được chạy liên tục không? Có ảnh hưởng đến thời lượng pin không? hoặc một thông tin gì thú vị?

Cảm ơn vì những chia sẻ kiến thức của bạn!
@nvking Thực ra mấy cái này ở phía người dùng cũng không nên tìm hiểu làm gì cho phức tạp, cái này dev tự làm tùy chỉnh cho phù hợp thôi với app của họ thôi
Còn bác muốn tìm hiểu always và while using nó khác nhau thế nào thì vào link: https://developer.apple.com/documentation/corelocation/choosing_the_authorization_level_for_location_services
Mà đấy chỉ là chỉ mới là cách cho phép dùng services location thôi, còn phải setup cách lấy dữ liệu data này nọ nữa: https://developer.apple.com/documentation/corelocation/getting_the_user_s_location
Nói chung là không nên quan tâm chi cho mệt.
Bản thân những cái apple gọi là background mode thì nó cũng có tới 9 mode rồi, trong đó vài mode thì keep app luôn chạy, 1 số mode thì dù tắt đi nhưng vẫn kích hoạt lại được,...
nvking
ĐẠI BÀNG
6 năm
@bibinguyen Thanks bạn! Không phải là mình muốn can thiệp gì đâu. Chỉ là muốn tìm hiểu coi như một thú vui công nghệ thôi. Chứ mình chưa đủ trình để nắm hết những thứ này mà!
Đợi tháng 9 tới sẽ ẵm em iphone LCD về nhà, hy vọng giá rẻ để đc tiếp cận ios...
@xxxx64xx52xxx73 hóng giống bác hihi
À... Chắc tại cái BAR mà app mail của iOS không load được mail, app Google Photos không up liên tục được ảnh, app Google Drive không đồng bộ được file. Ghét iOS ở chỗ này.
@Hoàng Ngu Sy Cái vụ không load được mail là do Apple hục hặc với Google nha 😁 không phải do BAR. Thông báo nó chạy đường riêng
@Hoàng Ngu Sy muốn trải nghiệm Google Apps thì mua Android, muốn trải nghiệm Windows Apps mua iOS 😆
@Nguyễn Tuấn Quang Mình có Android rùi. Dùng // với iPad để xem bài giảng thôi :p Tablet Android mà cũng được hỗ trợ như iPad thì còn lâu mình mới sờ vào đồ Apple.
@Duy Luân Thế là không đứng về phía người dùng r 😔 App MAIL chính chủ mà không push đc mail thì quá lởm, bất kể lí do.
Mình dùng app Mail của ios cho gmail và thấy nó đồng bộ Mail rất chậm. Người ta gửi Mail mấy tiếng rồi có khi app chả refresh để check Mail đến gì cả. Có bác nào bị như vậy không?
@spetsnaz GRU App Gmail của Google cho iOS chán lắm, bạn xài thử app Outlook đi, siêu ngon. Mình xài 2 năm nay rồi.
@spetsnaz GRU Outlook đi bạn, bao đã ;))
@Duy Luân giống anh haha
Thật ra thì cần thiết mở 2 cái app chạy một lúc luôn không thì 3 cái app cũng được( cứ cho là vừa làm vằu nghe nhạc đi) mấy ông còn lại thì chắc đóng sạch luôn rồi.2 màn nhìn là quá đủ mất tập trung rồi và mấy ông nào xài tắt sạch luôn,còn sợ chạy ngầm thì bật chế độ tiết kiệm pin khác là im hết
Dropbox là ví dụ rõ rệt nhất, trên android chụp phát là ảnh tự upload lên dropbox ngay còn ios phải mở app mới tự upload, hoặc đang upload dở trên ios mà thoát app là 1 lúc sau quá trình upload bị ngưng.
@8800 arte khoảng 3,4 phút là nó dùng up tự động, khó chịu ghê

Xu hướng

Bài mới









  • Chịu trách nhiệm nội dung: Trần Mạnh Hiệp
  • © 2024 Công ty Cổ phần MXH Tinh Tế
  • Địa chỉ: Số 70 Bà Huyện Thanh Quan, P. Võ Thị Sáu, Quận 3, TPHCM
  • Số điện thoại: 02822460095
  • MST: 0313255119
  • Giấy phép thiết lập MXH số 11/GP-BTTTT, Ký ngày: 08/01/2019