Pobieranie

Co robi menedżer pobierania, czego nie zrobi przeglądarka internetowa

Czterogigabajtowy plik, ukończony w dziewięćdziesięciu procentach, a potem telefon — albo po prostu zablokowany ekran — i po nim. To najczęstsza skarga na pobieranie na iOS, i to nie jest błąd. To system operacyjny robiący dokładnie to, do czego został zaprojektowany, i powód, dla którego istnieje osobna klasa aplikacji.

7 min czytania Zaktualizowano 29 lipca 2026

  • 30s Mniej więcej tyle działa zawieszona aplikacja, zanim iOS ją zatrzyma
  • 206 Status HTTP, który w ogóle umożliwia wznawianie
  • 1 bajt Tyle jest ponownie pobierane przy poprawnie wznowionym transferze

Dlaczego transfer zatrzymuje się przy przełączeniu aplikacji

iOS nie pozwala aplikacji dalej działać tylko dlatego, że by chciała. Gdy opuszczasz aplikację, jest zawieszana w ciągu kilku sekund, a zawieszona aplikacja nie ma czasu procesora, gniazd sieciowych ani sposobu, by zauważyć, że ją zatrzymano. Wszystko, co trzymała w pamięci, wciąż tam jest, ale zamrożone — a jeśli system potrzebuje pamięci, aplikacja jest zamykana od razu, bez informowania jej o tym.

Pobieranie działające na zwykłym połączeniu wewnątrz aplikacji kończy się więc przy geście powrotu do ekranu głównego. Niektóre aplikacje ukrywają to, prosząc o kilka dodatkowych sekund czasu w tle, dlatego pobieranie czasem przetrwa zejście do tła dokładnie tyle, ile zajmuje ci zauważenie, że jednak nie przetrwało.

Właściwa odpowiedź jest z innej kategorii. iOS udostępnia systemową usługę transferu w tle: przekazujesz systemowi listę adresów URL i miejsc docelowych, a system sam wykonuje pobieranie, we własnym procesie, według własnego harmonogramu. Twoja aplikacja może być zawieszona, zamknięta albo w ogóle nieuruchomiona — transfer trwa dalej, a aplikacja jest ponownie uruchamiana w tle, gdy jest coś do zgłoszenia. To mechanizm stojący za każdym pobraniem, które przetrwa zablokowany ekran, a skorzystanie z niego to decyzja projektowa podejmowana przez aplikację z góry, a nie ustawienie, które można włączyć.

Cztery mechanizmy decydujące, czy pobieranie przetrwa

Żądanie zakresu
Żądanie HTTP proszące o bajty od 5 000 000 wzwyż zamiast całego pliku. Jeśli serwer odpowie 206 Partial Content, wznowienie od środka jest możliwe; jeśli odpowie 200 OK i zacznie od początku, nie jest — plik trzeba pobrać ponownie od zera.
Połączenia równoległe
Podzielenie jednego pliku na kilka zakresów i pobieranie ich naraz. Pomaga to dlatego, że pojedyncze połączenie jest często ograniczane przez serwer albo limitowane przez opóźnienie w obie strony, a nie dlatego, że twój internet jest szybszy przy większej liczbie otwartych gniazd.
Zatwierdzone przesunięcie
Ile pliku jest bezpiecznie zapisane na dysku, w przeciwieństwie do tego, co jest wciąż w drodze. Pobieranie, które wznawia się od ostatniego zatwierdzonego bajtu, jest poprawne; takie, które wznawia się od tego, co *sądzi*, że otrzymało, produkuje uszkodzony plik, który ujawnia się dopiero godzinami później.
Sesja w tle
Systemowy transfer opisany powyżej. Wolniej startuje, nie da mu się nadać dowolnej niestandardowej logiki, i jest jedyną rzeczą, która działa dalej, gdy aplikacji nie ma.

Dlaczego pobieranie zawodzi i jak wygląda każda awaria

Większość zgłoszeń „zawieszonego pobierania” to jedna z tych pięciu sytuacji, i łatwo je odróżnić, gdy już znasz ich kształt.

Co widziszCo się naprawdę dziejeCo pomaga
Zatrzymuje się w chwili opuszczenia aplikacjiTransfer działał wewnątrz procesu aplikacji, nie w sesji w tle.Nic, co możesz zrobić z zewnątrz — to kwestia projektu aplikacji.
Zawsze zaczyna od 0%Serwer ignoruje żądania zakresu, więc nie ma sposobu na kontynuację od środka.Stabilne połączenie albo mniejszy plik. Niektóre serwery pozwalają na zakresy tylko dla podpisanych linków.
Zawodzi po kilku minutach, wielokrotnieLink wygasł. Wiele serwerów wydaje adresy URL ważne przez pięć lub dziesięć minut.Pobierz link ponownie z jego strony i zacznij od nowa; stary nigdy nie zadziała.
Pobiera się szybko, ale plik się nie otwieraTo, co dotarło, to strona błędu HTML albo strona logowania z nazwą pliku wideo.Sprawdź rozmiar — 14-kilobajtowy „film” to strona internetowa. Przejrzyj link, zanim się na niego zdecydujesz.
Bardzo wolno mimo szybkiego połączeniaOgraniczanie przepustowości na połączenie po stronie serwera.Więcej równoległych połączeń, jeśli serwer na to pozwala. Jeśli limituje po adresie IP, a nie po gnieździe, nic nie pomoże.

Gdy w ogóle nie ma pliku do pobrania

Spora część wideo w internecie nie jest dostarczana jako plik. Jest dostarczana jako HLS — lista odtwarzania .m3u8 wymieniająca setki małych segmentów po kilka sekund każdy, często w kilku poziomach jakości, żeby odtwarzacz mógł się przełączać w miarę zmiany twojego połączenia. Nie ma jednego adresu URL zawierającego film, bo film istnieje tylko jako sekwencja.

Zapisanie go oznacza pobranie każdego segmentu, a potem remultipleksowanie ich: zapisanie strumieni wideo i audio do zwykłego kontenera MP4. Nic nie jest kodowane na nowo, więc nic się nie traci, i zajmuje to sekundy zamiast długości filmu. Wynikiem jest zwykły plik, który odtworzysz wszędzie.

To też tłumaczy, dlaczego „pobierz ten strumień” zaczyna się zauważalnie dłużej niż pobieranie pliku: lista odtwarzania musi zostać pobrana i przetworzona, wybrany poziom jakości, i dopiero wtedy segmenty mogą zacząć napływać. I dlatego niektórych strumieni w ogóle nie da się zapisać — jeśli segmenty są szyfrowane w ramach schematu DRM, klucze są celowo niedostępne, i żadne narzędzie szanujące prawo tego nie ominie.

Co odróżnia prawdziwy menedżer pobierania od przycisku „pobierz”

Przetrwa zamknięcie aplikacji

Transfery w tle przekazane systemowi, z przekazaniem kontynuującym od tego samego zatwierdzonego bajtu, zamiast zaczynać plik od nowa.

Mówi, czym jest link, zanim się zdecydujesz

Rozmiar, typ i to, czy serwer obsługuje wznawianie — wszystko możliwe do poznania z jednego żądania HEAD, i wszystko przydatne, zanim wydasz cztery gigabajty transferu danych.

Kolejkuje, zamiast zalewać

Dziesięć plików naraz jest wolniejsze niż trzy naraz, bo każde połączenie dostaje mniejszy udział, a awarie się mnożą. Kolejka z rozsądnym limitem współbieżności kończy szybciej.

To, co ląduje, to zwykły plik

W folderze, który widzisz, sensownie nazwany, odtwarzalny przez cokolwiek — a nie zaszyfrowany obiekt bazy danych, który otworzy tylko ta jedna aplikacja.

Nawyki zapobiegające większości problemów z pobieraniem

  • Zaczynaj duże pliki na Wi-Fi i zostaw ekran włączony na pierwsze kilka sekund

    Przekazanie do sesji w tle następuje wcześnie; potem ekran przestaje mieć znaczenie.

  • Nie kolejkuj dwudziestu pozycji naraz

    Od trzech do pięciu równoczesnych transferów to optymalny zakres na niemal każdym połączeniu.

  • Sprawdź wolne miejsce wcześniej, nie potem

    Transfer wypełniający dysk zawodzi przy 98%, a iOS mógł już wyczyścić twoje pamięci podręczne, próbując zrobić miejsce.

  • Traktuj natychmiastowe „ukończono” z podejrzliwością

    Film, który skończył się w dwie sekundy, to strona błędu. Spójrz na rozmiar pliku.

  • Pobieraj wygasłe linki ponownie z ich strony

    Ponawianie martwego podpisanego adresu URL zawiedzie zawsze, niezależnie od tego, ile razy aplikacja spróbuje.

Jak to się różni między urządzeniami

iPhone

Najsurowsze środowisko: zawieszanie jest agresywne, a miejsca mało. Sesje w tle nie są tu optymalizacją, są jedyną rzeczą, która działa.

iPad

Te same zasady, z większym zapasem — i jedyne urządzenie z iOS, na którym duża biblioteka może rozsądnie wylądować na dysku zewnętrznym zamiast w pamięci wewnętrznej.

Mac

W ogóle bez zawieszania, więc długie transfery zachowują się tak jak na każdym komputerze biurkowym. Praktycznym ograniczeniem jest serwer, nie system operacyjny.

Pytania, jakie to rodzi

Czy więcej połączeń zawsze oznacza szybsze pobieranie?

Nie. Pomagają, gdy serwer ogranicza prędkość każdego pojedynczego połączenia, co jest powszechne. Nic nie dają, gdy limitem jest twoje własne połączenie, i mogą pogorszyć sprawę, gdy host liczy gniazda na adres IP i zaczyna je odrzucać. Gdzieś między cztery a osiem to użyteczny zakres; trzydzieści jest przeciwskuteczne.

Czy pobieranie może trwać dalej, gdy ekran jest zablokowany?

Tak, jeśli zostało przekazane systemowej usłudze transferu w tle. Ekran blokady nie ma dla tej usługi znaczenia — liczy się to, że aplikacja jest zawieszona, a cały sens tego mechanizmu polega na tym, że działa mimo to dalej.

Dlaczego moje pobieranie zaczyna od nowa zamiast się wznowić?

Serwer nie uszanował żądania zakresu. Poznasz to po tym, że postęp wraca do zera, zamiast kontynuować. Niektóre serwery obsługują zakresy tylko na swoich podpisanych adresach URL do pobierania, niektóre wyłączają je całkowicie, a kilka respektuje je dla małych plików, ale nie dużych.

Czy konwersja strumienia do MP4 to to samo co przekodowanie?

Nie. Remultipleksowanie przenosi istniejące wideo i audio do kontenera MP4 bez zmian — bezstratnie i na tyle szybko, by skończyć w sekundy. Przekodowanie odbudowuje obraz innym kodekiem i zawsze traci jakość. Jeśli zapisanie dwugodzinnego strumienia zajmuje dwie godziny, coś przekodowuje, choć wcale nie musiało.

FoxDL

Jak FoxDL pobiera

Silnik ma dwa tory: jeden wewnątrz procesu, szybki, gdy aplikacja jest na ekranie, i systemową sesję w tle, która przejmuje kontrolę od tego samego bajtu, gdy jej nie ma.

  • Równoległe fragmenty dla jednego pliku, zapisywane wprost w docelowym miejscu na dysku, zamiast w tymczasowych częściach, które trzeba potem połączyć.
  • Transfery w tle, które trwają dalej po zejściu aplikacji z ekranu i podejmują pracę od ostatniego zatwierdzonego przesunięcia — nie od ostatniego bajtu, który aplikacja sądziła, że otrzymała.
  • Wznowienie po zerwaniu, restarcie lub wymuszonym zamknięciu, o ile serwer respektuje żądania zakresu. Gdy nie, FoxDL mówi to wprost, zamiast zapętlać próby.
  • Strumienie HLS przekonwertowane do MP4, więc w bibliotece ląduje zwykły plik, a nie folder segmentów.
  • Inspektor pobierania, który zgłasza prawdziwy rozmiar, typ i wsparcie wznowienia dla linku, zanim zaczniesz.
  • Wszystko ląduje w zwykłym folderze, który widzi aplikacja Pliki.

Darmowe limity różnią się w zależności od platformy: na iPhonie i iPadzie niewielka liczba prób doładowywana krótkim filmem z nagrodą, który sam uruchamiasz; na Macu, gdzie w ogóle nie ma reklam, stała dzienna liczba. Pro znosi limit na każdym urządzeniu.

Częste pytania

Wszystkie pytania

Czytaj dalej

Twoja biblioteka, wreszcie w jednym miejscu.

Darmowe pobieranie. Bez konta i rejestracji — pełny zestaw w darmowej wersji.

Pobierz w App Store