2016-04-24 3 views
3

デバイスの合計メモリはどのように決定しますか?低メモリデバイスではシーケンシャルプログラムフローを使用し、高メモリデバイスでは非同期フローを使用したいと考えています。UWPデバイスの合計メモリ

例:1GBのメモリを搭載したデバイスでは、プログラムは動作しますが、512MBのデバイスでは、私のプログラムは複数のサイトからのイメージを非同期でキャッシュするため、OutOfMemoryExceptionにヒットします。

答えて

4

MemoryManagerクラスには、アプリケーションの現在の使用量と制限を取得するためのいくつかの静的プロパティがあります。

// 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 

あなたは、あなたのメモリ割り当てを管理するための最善の方法を決定するために、アプリケーションのメモリ制限を使用することができますMemoryManager.AppMemoryUsageLimitChangingイベント

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)); 
} 

を使用して変更することの限界に反応することができます。

+0

デバイスに搭載されているRAMの合計を取得するにはどうすればよいですか? – hellodear

関連する問題