2010-11-12 13 views
7

Tworzę aplikację, która korzysta z wielu dość dużych plików graficznych. Zauważam, że ulega awarii, gdy wszystkie zostaną załadowane na moim iPhone 3G (128 MB pamięci RAM), ale nie wtedy, gdy testuję go na 3rd gen iPod (256 MB pamięci RAM). Zakładam więc, że musi być pewien procent dozwolony dla każdej aplikacji? Moja aplikacja ma około 30 obrazów przy 440 tys. Załadowanych, więc 13,2 mb. Nie sądziłem, że to za dużo. Muszą być zamienione i obecnie dość szybko, więc uwalniając te nie są używane z pamięci nie wydaje się dobrym pomysłem ...Ile pamięci iOS pozwala aplikacjom korzystać?

EDIT:

ilustracje swapy aplikacji na podstawie sposobu, w jaki telefon jest przechylany. To 30 obrazów ze sceny 3D, więc po przesunięciu zmienia ona perspektywę. Musi być tak gładki, jak to tylko możliwe.

+2

Uważam, że jest gorszy niż myślisz: UIImage, po załadowaniu, prawdopodobnie przybierze rozmiar nieskompresowany, a nie skompresowany. Powinieneś prawdopodobnie używać Instrumentów, aby zobaczyć ile pamięci faktycznie używasz. –

+0

Jak szybko jest "dość szybko"? Wszystko inne niż szybkie przełączanie w czasie rzeczywistym jest dość nieistotne. Podaj nam więcej szczegółów o tym, jak szybko i dlaczego potrzebujesz tych obrazów w pamięci, ponieważ w tej chwili trudno jest uchwycić przypadek użycia, który wymaga tyle pamięci za jednym razem. –

+0

@ David Liu: plz patrz edit. – Marty

Odpowiedz

10

Odpowiedź brzmi: tyle, ile chcesz, dopóki system operacyjny nie zacznie narzekać.

Nie ma czegoś takiego jak bezwzględne ograniczenie pamięci, ponieważ zależy ono całkowicie od pamięci telefonu, od tego, ile zajmuje system operacyjny i powiązane usługi, oraz od pory miesiąca (tylko żartuję, ale dostajesz pomysł).

Powinieneś skalować te duże pliki graficzne, aby zmieściły się w pamięci, a nawet więcej, nie ładując wszystkich naraz, ponieważ ekran jest tak mały i tylko tyle można oglądać w tym samym czasie.

Powiązane problemy