Wydaje mi się, że system przyjmuje inny zrzut ekranu niż ten, który moja aplikacja przyjmuje na applicationWillResignActive
.Wielozadaniowość systemu iOS obraz kontra rozrzucenie obrazu aplikacji rozbieżność obejścia
Ku mojemu zaskoczeniu jest opóźnienie około 0,6 sekundy między obrazem podjętych przez system (b) a obraz podjęte przez grę (D). To sprawia, że system musi przechwycić ekran przed applicationWillResignActive
, ale w przypadku gry z szybko poruszającymi się obiektami może to być łatwo zauważone przez gracza.
Jak mogę to obejść?
są następujące kroki gracz czyni i jak to powoduje taką różnicę:
(a) Gracz pulsuje przycisk home, kiedy jest odtwarzany. (b) Wykonano zrzut ekranu systemu. (c) Odtwarzacz dotyka ikony gry. (d) Gra jest uruchamiana z przechwytywaniem ekranu wykonanym na applicationWillResignActive
. (e) Gra jest wstrzymana, pokazując rozbieżności w szybko poruszającym się obiekcie.
Kiedy przerwałeś swoją grę? Możesz umieścić punkt przerwania na '_saveSnapshotWithName:' i zobaczyć, kiedy zostanie wywołany. –
@LeoNatan Gra została wstrzymana na applicationWillResignActive, chociaż zrzut ekranu jest wykonywany w applicationDidEnterBackground, testowałem wykonanie zrzutu ekranu na aplikacjiWillResignActive, ale wynik jest taki sam – rraallvv
Jeśli gra została zatrzymana w 'applicationWillResignActive', to zrzut ekranu wykonany w' applicationDidEnterBackground 'powinno być dokładne. Być może twój problem jest po powrocie. –