2010-11-12 13 views
5

Es gibt ein paar Dinge, die ich nicht über die Speicherverwaltung von iOS verstehe.Speicher, der von jeder iPhone App verwendet wird

  1. wollte ich wissen, wie viel Speicher typischerweise eine iPhone App übernimmt Gerät beim Laufen (Gibt es eine feste Anzahl wie 10MB?)

  2. Wenn eine App viele große Bilder enthält, was die Wirkung ist auf die Erinnerung? Beeinflussen sie nur den Arbeitsspeicher, wenn sie geladen werden?

  3. Wie verwaltet iOS den Speicher, wenn mehrere Apps ausgeführt werden?

Bitte helfen Sie mir, diese Konzepte zu verstehen.

+0

Möchten Sie dies als Programmierer oder Benutzer wissen? Bei der 3. Frage steht immer nur eine App im Vordergrund, aber ab iOS4 können mehrere im Hintergrund stehen. Die im Hintergrund befindlichen werden vom iOS getötet, wenn mehr freier Speicher benötigt wird. – Bersaelor

Antwort

4

Es gibt keine angegeben oder festgelegte Menge an Speicher zur Verfügung, um Apps auf iOS-Geräten. Es gibt Spiele-Apps, von denen berichtet wird, dass sie über 55 MB Speicher verwenden, jedoch wird berichtet, dass das Betriebssystem diese Spiele auch zu einem signifikanten Prozentsatz der Zeit abbricht, wenn es nicht direkt nach einem Zurücksetzen des Geräts ausgeführt wird.

Wenn Sie 22 MB Arbeitsspeicher oder weniger verwenden, könnte das Betriebssystem Ihre App trotzdem beenden, weil nicht genügend Arbeitsspeicher verfügbar ist, aber es müsste auch einen massiven Prozentsatz anderer Apps im App Store vernichten in sehr guter Gesellschaft sein.

Wenn eine App (Vordergrund oder Hintergrund) genügend Speicher benötigt, um den Speicherpool ausreichend zu entladen, werden Speicherwarnungen an andere Apps gesendet. Wenn der Speicherpool klein genug wird, werden Apps gelöscht, möglicherweise auch die Vordergrund-App, wenn es sich um einen großen Speicher handelt.

3

Q1) Es gibt natürlich keinen festen Wert. Jede Anwendung (und jede Anwendungsinstanz) verwendet abhängig von ihrer Aufgabe (n) eine andere Speichermenge. Es gibt jedoch ein Maximum. Das Erreichen dieses Maximums löst eine Speicherwarnung aus, und das Betriebssystem kann sie möglicherweise beenden.

Q2) Bilder: Hängt davon ab, wie viele Sie auf einmal zeigen, oder durch Animationen.

Q3) Die Anwendung im Vordergrund erhält den meisten Speicher zugewiesen. Anwendungen im Hintergrund können Speicher anfordern, um Hintergrundaufgaben auszuführen.

Guter Artikel für Best Practices:

http://inessential.com/2010/06/28/how_i_manage_memory

+3

Ok Evan. Über welchen maximalen Wert sprechen Sie? – Abhinav

Verwandte Themen