2013-04-27 111 views
0

我目前正在創建Windows Phone應用程序,並遇到了限制正在使用的內存量的問題。我正在使用用於Windows Phone分析的內置工具。Windows Phone配置文件和高內存

的應用程序不會在同一時間執行以下操作: *要被顯示在背景中的API調用(使用Newtonsoft JSON.NET庫解析結果) *計算的對象,並且當在完成計算時,綁定它。

問題是,內存的數量真的很高。它使用平均大約80-90 MB,偷窺超過90 MB(此應用程序必須在商店中)。

應用程序執行分析顯示以下注釋:系統線程和託管線程的內存使用率都很高。它還表示記憶是「紋理主導」。 所以我做了記憶分析。

Album of profiling

探查注意到一個「中的存儲器量高紋理分配」。大多數情況下這大約是50%。 有關這方面的問題:紋理也是自定義用戶控件嗎?我記得讀的東西,當我看看堆彙總每個用戶的控制被保存爲位圖在內存

,它顯示了幾個高值。 我應該如何解讀這些數據?這些數字應該如何與對方相比?

看看類型,字符串使用13%。這是否意味着String使用最多的內存?

這是否意味着字符串正在使用最多的內存?或者我正在尋找內存使用最多的錯誤位置?例如,我應該看一下堆摘要中的「開始時保留的視覺效果」嗎? 如果我看那裏,一些值是由我自己的書面用戶控件造成的。 我正在使用Listbox(因爲它支持UI虛擬化),但我使用我自己的控件作爲ListboxItem。我應該用Listboxitem替換它們嗎?

我無法找到如何使用分析工具:-(而且我個人覺得很難理解(例如,如果你把它比作Android的分析工具)。

TL明確教程; DR:幫助理解分析工具,並試圖找到什麼是提前使用這麼多的內存

感謝

回答

0

你有太多的圖像在您的應用程序的大部分時間高內存是不是造成的!?適當的圖像或不好的做法

+0

感謝您的回答! 沒有使用圖像。我刪除了它們以查明這是否是高內存使用率的原因。 – Solutio 2013-05-06 09:32:27