Otrzymałem mieszane odpowiedzi od różnych stron internetowych i osób dotyczące tego pytania i chciałem je zadać, abyście wszyscy odpowiedzieli raz na zawsze.
Pytanie brzmi: czy wymuszanie zamykania aplikacji (tj. Dwukrotne kliknięcie przycisku strony głównej, a następnie przesunięcie palcem w górę) ma jakąkolwiek korzyść z baterii lub ogólnej wydajności iPhone'a lub innego urządzenia z systemem iOS?
iphone
ios
battery
performance
Munesawagi
źródło
źródło
Odpowiedzi:
Wiele było dyskusji i dyskusji na ten temat. Wierzę, że było to korzystne dla iOS w wersjach v3 i v4, ale teraz nie jest.
Craig Federighi wyszedł nawet niedawno, mówiąc, że nie jest to konieczne i nie wydłuża żywotności baterii. Apple ma wbudowane zarządzanie pamięcią odpowiedni czas do zawieszenia i / lub zabicia aplikacji, gdy jest to konieczne. Jedyną sytuacją, w której należy wymusić zamknięcie aplikacji, jest brak reakcji.
źródło
W jednym przypadku wymuszone zamknięcie może przynieść iOSowi korzyści, które przewyższają koszt dalszego przetwarzania potrzebnego do oczyszczenia procesu, zrestartowania go i wyczyszczenia wszystkich plików, które są buforowane / otwarte.
Negatywnym skutkiem tego jest to, że aplikacje nie działają w tle - więc po przejściu do nowej aplikacji lub odskoczni / listy ikon / ekranu blokady iOS już zatrzymał / wstrzymał / opróżnił całą aktywność systemu plików dla aplikacji.
Sygnalizuje zamrożonej aplikacji, że musi w pełni zainicjować się od zera - bez względu na zapisany stan lub wyniki z pamięci podręcznej. Sygnalizuje to Apple w formie raportu o awarii (i opcjonalnie dla programisty) niektórych okruszków dokładnie tam, gdzie aplikacja była w kodzie, gdy została „zabita” przez użytkownika.
Pomyśl o tym jak o operacji - wyrządzasz wyraźną szkodę w krótkim okresie - chyba że jesteś pewien, że operacja jest potrzebna, nie bierz wydajności i zmuszaj się do rezygnacji.
źródło
Ostatnio ten temat znów jest gorący. Mocno wierzę, że bezużyteczne jest wymuszanie zamykania aplikacji na urządzeniach z iOS. Ponowne uruchamianie aplikacji po awarii jest pomocne. Tutaj więcej informacji.
9to5Mac:
Tutaj, z oficjalnego dokumentu wsparcia dotyczącego zmuszania do zamykania aplikacji, znajduje się własna rada Apple, kiedy użyć tej funkcji:
MacDailyNews cytuje wiadomość e-mail od Steve'a Jobsa z 2010 roku:
Na wypadek, gdybyś nie wierzył, że starszy wiceprezes Apple ds. Oprogramowania, oficjalna dokumentacja wsparcia Apple lub Steve Jobs, oto kilka innych artykułów wskazujących, w jaki sposób ten nawyk rzeczywiście szkodzi żywotności baterii iPhone'a:
źródło
Teoretycznie tak. Aplikacje działające w tle zużywają pamięć (ich wątki nadal istnieją i dlatego można je zobaczyć na liście po dwukrotnym kliknięciu przycisku Początek), a zatem zużywają baterię.
Ale praktycznie nie do końca. iOS dobrze radzi sobie z zarządzaniem pamięcią, a aplikacje działające w tle zużywają tylko niewielką ilość pamięci. A jeśli inne aplikacje działające na pierwszym planie (działające aktywnie i użytkownicy wchodzą w interakcje z nimi) potrzebują więcej pamięci, system iOS może zakończyć aplikacje w tle i wyczyścić pamięć. Przyczyną tego, że czasami wymuszane jest zamykanie aplikacji w celu zaoszczędzenia pamięci / żywotności baterii, jest to, że niektóre aplikacje mogą żądać uruchamiania długotrwałych zadań, nawet działających w tle, na przykład w celu pobierania w tle, okresowej synchronizacji danych, itp. (pamiętaj, że nie każda aplikacja to robi). Ale możesz je wyłączyć, konfigurując Odświeżanie aplikacji w tle w Ustawieniach -> Ogólne.
Podsumowując, w przypadku aplikacji, która niewiele robi w tle, wymuszenie zamknięcia nie przyniesie zauważalnych korzyści.
źródło
Suspended
wkrótce po przejściu w tło i „zawieszone aplikacja pozostanie w pamięci, ale nie wykona żadnego kodu”. Proces aplikacji jest nadal obecny, chyba że zostanie zakończony przez iOS. Jeśli masz XCode (narzędzie programistyczne dla aplikacji na iOS), możesz faktycznie użyć Debugowania-> Dołącz do procesu i zobaczyć listę procesów w telefonie, nawet jeśli nic nie jest uruchomione na pierwszym planieapplicationDidEnterBackground:
powrocie metody delegata aplikacji system wykonuje migawkę okien aplikacji . Podobnie, gdy aplikacja jest budzona w celu wykonania zadań w tle, system może wykonać nową migawkę, aby odzwierciedlić wszelkie istotne zmiany Na przykład po przebudzeniu aplikacji w celu przetworzenia pobranych elementów system wykonuje nową migawkę , która może odzwierciedlać wszelkie zmiany spowodowane włączeniem elementów. System używa tych migawek w interfejsie wielozadaniowości, aby pokazać stan app ”. Do tego miałem na myśli.Przekonałem się, że w szczególności zakończenie aplikacji na Facebooku może oszczędzić baterię. Po sprawdzeniu jego użycia w sekcji baterii (Ustawienia> Bateria> Czas) nie mogę nie być przekonany, że gra nie jest przyjemna.
źródło