2013-09-27 5 views
8

Ich arbeite an einer iOS App in Xcode. Früher habe ich es gestartet und ausgeführt, bis zu einer begrenzten Funktionalität. Dann gab es Kompilierungsfehler, die behaupteten, dass der vom Standard generierte Code Syntaxfehler hatte. Das Kopieren des Quellcodes in ein neues Projekt hat ein anderes Problem.Wie kann ich eine App ansprechen, die früher gestartet wurde, aber jetzt wegen Speicherdruck beendet ist?

Momentan kann ich kompilieren und starten zu laufen, aber es besagt, bevor sogar das Startbild zeigt, dass die Anwendung wegen Speicherdruck geschlossen wurde. Das gesamte visuelle Vermögen liegt bei 272 Millionen, was einige optimiert werden können, ohne den grafischen Reichtum zu beeinträchtigen, und ist bisher der einzige Bereich des Programms, von dem erwartet wird, dass es groß ist. (Die Assets können oder können nicht im Speicher bleiben; zum Beispiel wird jedes aktuelle geladene Bild aufgefüllt und mein Code greift nie programmatisch auf ein Lade-Image zu.) Und es stürzt ab, bevor das Lade-Image selbst geladen wurde.

Wie kann ich dieses Speicherproblem beheben? Ich bin vielleicht in der Lage, die Handhabung von Bildern zu verringern, aber ich vermute, dass es noch eine andere Ursache gibt. Oder ist das ein übermäßiger Speicherverbrauch?

Danke,

+1

Sie verwenden 272 MB? Dies wird sofort auf iPhone 4S oder älteren Geräten getötet werden. IPhone 5 wird damit umgehen, aber das ist eine riesige Menge an Speicher direkt beim Start verbraucht werden. –

+1

Sie versuchen also, beim App-Start fast 300 MB Bilder zu laden? – Wain

+0

Zustimmen, ich schlage lazy-loading vor - lade die Ressource nur, wenn sie angezeigt werden soll. –

Antwort

4

Bewertung der Performance Tuning Abschnitt von iOS-Programmierung Dokumentation von Apple. Verwenden Sie Apples Anwendung Instruments, um zu bestimmen, wie, wann und wie viel Speicher Ihre App verwendet.

Ein Ansatz, den Sie in Betracht ziehen sollten, besteht darin, die Grafikressourcen von Ihrer Anwendung zu trennen und sie einzeln hinzuzufügen, sobald Sie das Gefühl haben, dass sie die Anforderungen und Einschränkungen von iOS erfüllen.

Jetzt ist dieser Teil meiner Antwort Meinung: es klingt wie Ihre App ist ein hohes Risiko für die Ablehnung aus dem App Store, für den Fall, dass Ihr Ziel für diese App ist.

+1

+1: Ich stimme zu, dass es wahrscheinlich Schwierigkeiten haben wird, den Appstore zu überprüfen, wenn Sie beim ersten Start so viel Speicher verwenden ... Sie müssen das optimieren. –

+0

Danke. Ich kenne mindestens eine Optimierung, die die gesamten Startbilder erheblich reduzieren sollte ... aber ein großer Teil der Größe ist Startbilder. – JonathanHayward

+0

Ein kurzer Tipp zu Bildern lautet: Größe der Bilder so ändern, dass sie die maximale Größe von iOS sind (wenn Sie beispielsweise ein 600x600 Bild auf der Festplatte haben, es aber nur als 300x300 auf einem Retina Display anzeigen, ändern Sie die Größe des Quellbildes auf 300x300). – bneely

Verwandte Themen