Jaka jest różnica między odświeżaniem aplikacji w tle w iOS 7 a wielozadaniowością w iOS 6?

10

Czy iOS 6 nie obsługuje wielozadaniowości i nie pozwala aplikacjom w tle na odświeżanie zawartości? Co nowego w iOS 7? Czy możemy włączyć / wyłączyć dostęp określonych aplikacji do sieci, gdy działają one w tle?

Widzę też, że aplikacji Pandora nie ma na tej liście (Ustawienia → Ogólne → Odświeżanie aplikacji w tle), a jednak działa dobrze, gdy jest w tle i pobiera dane, gdy jest w 3G. Jak to działa?

VA
źródło

Odpowiedzi:

13

Obsługiwane wielozadaniowość w iOS 4 i nowszych dla niektórych szczególnych przypadków użycia:

  • Program wymagający ograniczonej ilości czasu na zakończenie zadania (np. Przesłanie pliku), po czym można go zawiesić. Nie obudzi się, dopóki użytkownik nie wróci do aplikacji.

  • Odtwarzanie dźwiękowej treści dla użytkownika w tle, np. Pandora.

  • Nagrywanie dźwięku w tle

  • Informowanie użytkownika o jego lokalizacji, na przykład w aplikacji do nawigacji

  • Aplikacje VoIP, takie jak Skype

  • Nowe aplikacje, które od czasu do czasu aktualizują zawartość

  • Komunikacja z podłączonymi akcesoriami (dodanymi w iOS 5)

  • Aplikacje komunikujące się z urządzeniami Bluetooth (dodane w iOS 6)

iOS 7 dodaje dwa dodatkowe przypadki użycia dla wielozadaniowości.

  • Program może zarejestrować, że chce regularnie pobierać małe zestawy informacji. Na przykład może regularnie pobierać aktualizacje Twittera. Ten nowy interfejs API pozwala określić, że chcesz się budzić, aby co jakiś czas pobierać informacje. Na przykład program może powiedzieć, że chce pobrać informacje po tym, jak spał co najmniej piętnaście minut. Następnie system spróbuje znaleźć czas, w którym może obudzić tyle aplikacji na raz, aby wykonać swoją pracę. Zminimalizowanie liczby przebudzeń urządzenia pomoże oszczędzać baterię.

  • Program może się zarejestrować, aby obudzić się w celu pobrania treści, jeśli otrzyma zdalne powiadomienie. Chodzi o to, że można pobrać zawartość i być gotowym do wyświetlenia, jeśli przejdziesz do aplikacji.

Alan Shutko
źródło
Wow, i pomyślałem, że wiem, co to znaczy. Okazało się, że nie mam pojęcia. Dobrze napisane.
Melwan,
Może to zasługuje na własne pytanie, ale czy wyłączenie „odświeżania aplikacji w tle” ograniczyłoby przypadki użycia wcześniejszych wersji niż iOS 7? Zgaduję, że nie, ponieważ nie widziałem Apple Maps wśród opcji włączania / wyłączania.
Szansa
7

Właściwie poszedłem na sesję WWDC w tej sprawie, więc mam trochę wglądu na ten temat. O ile mi wiadomo, w iOS 7:

  • Aplikacja informuje system, czy chce użyć odświeżania aplikacji w tle.
  • Jeśli aplikacja chce korzystać z tej funkcji, system analizuje wzorce użytkowania tej aplikacji (otwierasz ją codziennie około 7, raz na godzinę, w trzeci wtorek itp.),
  • Po tym, jak system pomyśli, że ma już ustalony wzór aplikacji, daje aplikacji trochę czasu, zanim pomyśli, że zamierzasz ją otworzyć.

Kiedy to byłoby przydatne? Dla aplikacji z dynamiczną aktualizacją treści. Na przykład:

  • Świergot
  • Facebook
  • Aplikacja Stack Exchange
  • Aplikacja wiadomości
  • Czytnik RSS
  • itp.

Zasadniczo każda aplikacja z często aktualizowanymi treściami skorzystałaby z tej funkcji.

Jako użytkownik oznacza to, że kiedy otworzysz aplikację po tym, jak system zorientuje się, jakie są wzorce użytkowania, zobaczysz bardzo nową zawartość - zamiast zawartości buforowanej od czasu ostatniego otwarcia aplikacji.

Programiści uwielbiają tę funkcję - w pewnym momencie wokół Tima Cooka było kilku programistów, którzy dziękowali mu za taką funkcję i starali się upewnić, że nie zniknie.

Cofnij
źródło