2013-10-03 7 views
5

Zauważyłem, że moja aplikacja Phonegap ma problemy z pamięcią na iOS7, które nie miały miejsca na iOS6.Webkit często zawiesza się iOS7 - nie zwalniając pamięci?

  1. długie iScroll list z wielu obrazów
  2. wyświetlanie obrazów z galerii telefonu (9mp) padnie po zapoznaniu się kilka

Dla # 1, to nigdy nie był problem na iOS6, niezależnie od urządzenie.

Dla # 2, ponownie używam tego samego elementu DIV, aby wyświetlić następny obraz, więc wygląda na to, że poprzedni obraz nie jest czyszczony.

Techniki wymienione w tym poście nie pojawiają się do pracy w iOS7: iPad/iPhone browser crashing when loading images in Javascript

+0

Mam podobny problem. Moja aplikacja, która działała poprawnie na iOS 6, teraz także ulega awarii w systemie iOS 7.0.3, ponieważ pamięć obrazu nie jest właściwie usuwana. Używam technik podobnych do opisanych w twoim linku. Czy dowiedziałeś się czegoś nowego na ten temat? Czy już zgłosiłeś błąd? –

Odpowiedz

3

Najlepszym rozwiązaniem tego problemu znalazłem jest następujący kod:

var img = document.getElementById('imageID'); 
img.parentNode.removeChild(img); 
img.src = 'data:image/gif;base64,' + 
     'R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs='; 
setTimeout(function() { 
img = null; 
}, 60000); 

Ustawia atrybut SRC maleńki gif, a następnie czeka wystarczająco długo, by w końcu udało się zebrać śmieci.

Patrz: http://www.fngtps.com/2010/mobile-safari-image-resource-limit-workaround/

ten powinien pracować dla Ciebie. Mogłem sprawdzić, czy pamięć została zwolniona za pomocą instrumentów Xcode. Niestety to rozwiązanie nie działa w przypadku aplikacji ekranu głównego, z których korzystam.

+0

7.0.4 doświadcza tego samego problemu. Używamy phonegap + szkielet + nity. Zrobiłem to na zakończenie każdego widoku, pomógł odrobinę. Postaram się zaimplementować to również w wiązaniach danych nity, ale to ostatnie miejsce, które znam, może pomóc. – Krym

+0

Moje problemy wydają się być naprawione w iOS 7.0.4. Dzisiaj jest także wersja 7.1 beta. –

+0

masz na myśli, że to nie dotyczy ios 7+? – jujule