Kann mir jemand sagen, welche Art von Erinnerung ist schmutzig / Bewohner und woher kommen sie? Bedeutet residenter Speicher dasselbe wie "verdrahteter Speicher" von Mac OS?
Das habe ich über den Mac OS Speicher gesehen:
Wired: Dies bezieht sich auf Kernel-Code und so. Erinnerung, die nicht sollte jemals aus dem RAM bewegt werden. Auch als residenter Speicher bekannt.
Freigegeben: Speicher, der von zwei oder mehr Prozessen gemeinsam genutzt wird. Beide Prozesse würden diese Menge an Speicher zeigen, so dass es ein bisschen sein kann irreführend, wie viel Speicher tatsächlich verwendet wird.
Real: Dies ist die "echte" Speichernutzung für eine Anwendung, wie berichtet von task_info () - eine grobe Zählung der Anzahl der physischen Seiten, die der aktuelle Prozess hat. (RSIZE)
Private: Dies ist Speicher, den ein Prozess allein verwendet das wird in Resident-Speicher verwendet. (RPRVT)
Virtuell: Der Gesamtbetrag des Adressraums im Prozess auf alles abgebildet - ob das ein beliebig großer Platz für Variablen oder irgendetwas - es entspricht nicht der tatsächlichen VM-Nutzung. (VSIZE)
Aktiv: Speicher wird derzeit als aktiv gekennzeichnet und wird als RAM verwendet.
Inaktiv: "Inaktiver Speicher wird nicht mehr verwendet und war es auch im Cache gespeichert. Es bleibt im RAM, bis eine andere Anwendung benötigt der Raum. Diese Information im RAM zu belassen ist zu Ihrem Vorteil, wenn Sie (oder ein Client Ihres Computers) kommen Sie später darauf zurück. "- Mac OS X Hilfe
Free: Die tatsächlich verfügbare Menge an RAM ohne Daten.
Es ist fast ein Jahr und ich habe es herausgefunden.
Speicher löschen
sauberen Speicher sind Speicher, die neu erstellt werden können, auf iOS ist es Speicher von:
Beachten Sie auch diese Situation: Wenn Ihre App mit einem Framework verknüpft wird, erhöht sich der reine Speicher um die Größe der Framework-Binärdatei. Aber die meiste Zeit ist nur ein Teil der Binärdatei wirklich in den physischen Speicher geladen.
schmutziger Speicher
Sämtlicher Speicher, der kein sauberer Speicher ist, ist schmutziger Speicher, schmutziger Speicher kann nicht vom System neu erstellt werden.
Wenn ein Speicherdruck vorhanden ist, entlädt das System etwas sauberen Speicher. Wenn der Speicher erneut benötigt wird, erstellt das System diese neu.
Aber für schmutzigen Speicher kann das System sie nicht entladen, und iOS hat keinen Swap-Mechanismus, so wird schmutziger Speicher immer im physischen Speicher gehalten, bis er ein bestimmtes Limit erreicht, dann wird Ihre App beendet und der gesamte Speicher für Es wird vom System recycelt.
virtueller Speicher
%Vor%Das bedeutet, dass virtueller Speicher der gesamte Speicher ist, den Ihre App benötigt.
residenter Speicher
%Vor%resident memory ist der Speicher, der wirklich in Ihren physischen Speicher geladen wurde, dh alle schmutzigen Speicher und Teile Ihres sauberen Speichers.
Schlussfolgerung
Zu jeder Zeit gilt das immer:
%Vor%Wenn Sie sich Sorgen um den physischen Speicher Ihrer App machen (was der Hauptgrund dafür ist, dass Ihre App wegen zu wenig Arbeitsspeichers beendet wird), sollten Sie sich hauptsächlich auf residenten Speicher konzentrieren.
Residenter Speicher ist der Speicher, der Ihrer App zugewiesen ist. Schmutziger Speicher ist der residente Speicher, der aufgrund des fehlenden Paging-Systems in iOS nicht automatisch freigegeben werden kann. Ich habe diese Informationen bei Ссылка gefunden. Für die von Ihnen aufgeführten Speicherarten ist der residente Speicher in iOS näher an real oder privat. Aus meiner Sicht ist es der schmutzige Speicher, über den Sie sich in iOS am meisten Sorgen machen sollten, da er feststellen kann, ob Ihre App im Hintergrund angehalten wird, wenn der Speicher gering ist.
Tags und Links iphone ios macos memory-management