2016-04-24 6 views
3

Wie ermitteln Sie den Gesamtspeicher eines Geräts? Ich würde gerne einen sequentiellen Programmfluss auf wenig Speichergeräten und einen asynchroneren Fluss auf höheren Speichergeräten verwenden.Gesamtspeicher des UWP-Geräts

Beispiel: Auf einem Gerät mit 1 GB Speicher funktioniert mein Programm, aber auf 512MB Gerät trifft mein Programm eine OutOfMemoryException, da es Bilder von mehreren Seiten asynchron speichert.

Antwort

4

Die MemoryManager-Klasse verfügt über einige statische Eigenschaften, um die aktuelle Verwendung und das Limit für die Anwendung zu erhalten.

// Gets the app's current memory usage. 
MemoryManager.AppMemoryUsage 

// Gets the app's memory usage level. 
MemoryManager.AppMemoryUsageLevel 

// Gets the app's memory usage limit. 
MemoryManager.AppMemoryUsageLimit 

können Sie bis an die Grenze reagieren

private void OnAppMemoryUsageLimitChanging(
    object sender, AppMemoryUsageLimitChangingEventArgs e) 
{ 
    Debug.WriteLine(String.Format("AppMemoryUsageLimitChanging: old={0} MB, new={1} MB", 
     (double)e.OldLimit/1024/1024, 
     (double)e.NewLimit/1024/1024)); 
} 

mit dem MemoryManager.AppMemoryUsageLimitChanging Ereignisse ändern können Sie die Speichergrenze der Anwendung verwenden, um zu entscheiden, wie sie am besten Ihre Speicherzuweisung zu verwalten.

+0

Wie wird der gesamte RAM im Gerät installiert? – hellodear