日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

WP7 App性能优化(8):检测应用程序性能(Ⅰ)

發(fā)布時(shí)間:2023/12/31 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 WP7 App性能优化(8):检测应用程序性能(Ⅰ) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

有很多方法監(jiān)視應(yīng)用程序的性能并檢測性能問題。檢測內(nèi)存占用是其中之一。也可以啟用重繪區(qū)域著色和視圖緩存,從而可視化的監(jiān)視相關(guān)資源的使用情況。也可以打開幀頻計(jì)數(shù)器使其在Windows Phone 7模擬器中可用。幀頻計(jì)數(shù)器使你可以監(jiān)視應(yīng)用程序很多不同方面的性能。以下討論了如何使用這些功能。

?

監(jiān)視內(nèi)存占用

應(yīng)當(dāng)在應(yīng)用程序中監(jiān)視內(nèi)存占用。這可以通過在程序中不同的地方調(diào)用GetValue(String)方法實(shí)現(xiàn)。以下表格列出了一些可以傳遞給GetValue方法做參數(shù)的屬性名及其描述。獲得更多檢測內(nèi)存使用的信息,請參考Device Information for Windows Phone。

屬性名

描述

DeviceTotalMemory

設(shè)備使用的總內(nèi)存

ApplicationPeakMemoryUsage

當(dāng)前應(yīng)用程序可用的最大內(nèi)存

ApplicationCurrentMemoryUsage

當(dāng)前應(yīng)用程序已用的內(nèi)存

應(yīng)用程序不應(yīng)當(dāng)占用90MB以上的內(nèi)存,除非Windows Phone 的物理RAM大于256MB。如果應(yīng)用程序消耗了過多的內(nèi)存,應(yīng)當(dāng)跟蹤應(yīng)用程序中使用的主要對象的數(shù)目,例如頁面和用戶控件。如果出現(xiàn)了比預(yù)期的過多的未銷毀實(shí)例,應(yīng)調(diào)查為何這些實(shí)例沒有被適時(shí)釋放。

?

啟用重繪區(qū)域

可以通過在Windows Phone 7模擬器中啟用重繪區(qū)域可視化的觀察應(yīng)用程序中哪些區(qū)域重繪了。在頁面的構(gòu)造函數(shù)中,將P:System.Windows.Interop.Settings.EnableRedrawRegions屬性設(shè)置為true。也可以通過當(dāng)前應(yīng)用程序設(shè)置的這個(gè)屬性來訪問,如下代碼所示。

Application.Current.Host.Settings.EnableRedrawRegions = true;

現(xiàn)在,當(dāng)程序運(yùn)行中某個(gè)區(qū)域完成繪制時(shí),就會有一個(gè)顏色陰影來標(biāo)識。著色的區(qū)域標(biāo)志著是由CPU而不是GPU來處理繪制的。當(dāng)CPU用于繪制時(shí),稱為軟件繪制。軟件繪制是正常的,所有元素首次呈現(xiàn)都是通過軟件繪制,但是應(yīng)當(dāng)避免過分的軟件繪制。如果程序中包含每一幀都改變的閃爍顏色區(qū)域,應(yīng)考慮對這些元素使用位圖緩存。關(guān)于啟用位圖緩存的更多信息,請參考本系列博文中的《Opacity屬性與位圖緩存》。

?

啟用視圖緩存

通過啟用視圖緩存,可以可視化的看到哪些圖形表層正在使用中,并被傳遞給構(gòu)圖線程,然后傳遞給GPU。要實(shí)現(xiàn)它,在頁面構(gòu)造函數(shù)中將P:System.Windows.Interop.Settings.EnableCacheVisualization屬性設(shè)置為true。當(dāng)然也可以通過當(dāng)前應(yīng)用程序設(shè)置的這個(gè)屬性訪問,如下代碼所示。

Application.Current.Host.Settings.EnableCacheVisualization = true;

當(dāng)啟用視圖緩存時(shí),程序中的每一個(gè)圖形表層都會有加一個(gè)藍(lán)色并應(yīng)用透明。這樣就可以看到應(yīng)用程序的中的不同表層及其重疊。最深色的藍(lán)色陰影表示多個(gè)表層在這兒彼此重疊。在高填充率的作用下,也可以看到應(yīng)用程序中的隱藏對象。Windows Phone 7中的Silverlight與其他平臺的Silverlight在視圖緩存上稍有不同。其他平臺上的視圖緩存,著色區(qū)域表示的是Silverlight創(chuàng)建的、非開發(fā)者明確緩存的表層。然而,Windows Phone 中的視圖緩存,著色區(qū)域表示傳送給GPU構(gòu)圖的表層。這很對監(jiān)視而言是很重要的,因?yàn)檫@使得應(yīng)用程序視圖變得更加復(fù)雜,甚至超越GPU的能力。

當(dāng)啟用視圖緩存時(shí),GPU必須要承擔(dān)一些額外工作,這會影響幀頻,所以不應(yīng)當(dāng)在使用視圖緩存時(shí)監(jiān)視幀頻。

轉(zhuǎn)到:WP7 App性能優(yōu)化(0):索引頁

轉(zhuǎn)載于:https://www.cnblogs.com/magicboy110/archive/2010/12/26/1917023.html

總結(jié)

以上是生活随笔為你收集整理的WP7 App性能优化(8):检测应用程序性能(Ⅰ)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。