2017-01-25 3 views
0

Ich portiere eine Anwendung, die ich in der Vergangenheit mit Appcelerator gebaut. Diese App erstellt Tonnen von dynamischem Inhalt, also gibt es eine Funktion, um Speicher zu sehen. Mit anderen Worten: Erklärungen wie: Verwenden Sie die DidReceiveMemoryWarning(), um den Cache zu löschen, oder verwenden Sie externe Tools, um den Speicher zu überprüfen, der nicht anwendbar ist. Der Endanwender muss beobachten, wie groß und schwer Ihr Content im laufenden Betrieb ist. Die App mit Appcelerator verwendet Titanium.Platform.availableMemory und es ist ziemlich einfach zu bedienen.Wie bekomme ich Speicher in IOS mit Xamarin

Ich kann nicht glauben, dass das mit Xamarin nicht möglich ist. Ist das wirklich unmöglich? Ich habe eine Bibliothek gefunden, die von Objective-C in .NET konvertiert wurde, aber wahrscheinlich ist sie sehr alt, weil sie nicht kompiliert werden kann.

Irgendwelche Hilfe in diesem Sinne?

Antwort

0

Sie können System.GC.GetTotalMemory(false); verwenden, um den aktuellen Speicher abzurufen. Wenn Sie freien Speicherplatz benötigen, können Sie NSProcessInfo.ProcessInfo.PhysicalMemory verwenden. Sie könnten dann Ihr eigenes Verhalten von DidReceiveMemoryWarning() überschreiben, um überschüssige Ressourcen zu bereinigen.

EX:

public override void DidReceiveMemoryWarning() 
{ 
    photoMap.Clear(); 
    View = null; 
    photoImageView = null; 
    toolbar = null; 
    syncIsNeeded = true; 
    base.DidReceiveMemoryWarning(); 
} 
+0

Aber dies wird als "Speicher verwendet", nicht wahr? Kann ich davon ausgehen, dass mein verfügbarer Speicher NSProcessInfo.ProcessInfo.PhysicalMemory - System.GC.GetTotalMemory (false) ist? –

+0

Ja, das ist Speicher verwendet. Verfügbar wäre über 'NSProcessInfo.ProcessInfo.PhysicalMemory'. Beachten Sie jedoch, dass sich die Implementierung von Titanium Mobile von diesen Artikeln unterscheiden kann. Hier ist die Quelle: https://github.com/appcelerator/titanium_mobile/blob/a8aceeaeee02ed9c8ea70c835a0e78960e254a55/iphone/Classes/PlatformModule.m#L254-L265 –

+0

TY! Ich werde einige Stresstests machen! –

Verwandte Themen