日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

【WP開發】正確理解頁面緩存

系統 1708 0
注:本文內容面向Runtime App。
在新建項目后,細心觀察,你會發現在App類中有以下代碼:

? ?? ?? ?? ?? ? // TODO: 將此值更改為適合您的應用程序的緩存大小? ?? ?? ?? ?? ? rootFrame.CacheSize = 1;

這行代碼放在了OnLaunched方法中,CacheSize是Frame類的一個公共屬性。
我們知道,Frame類負責完成頁面之間的導航,它本身就是一個容器控件。CacheSize屬性用于告訴Frame對象,要緩存的頁面數量。近日,有人提問說,這個緩存頁面數是不是導航記錄的數量?
明確地告訴你:非也。
Frame的導航記錄在BackStack屬性中,這個Cache并不是用來緩存頁面的導航記錄的,一定要注意啊,不要搞混了。
CacheSize屬性是用于設置要保留頁面實例的個數。當Frame導航到某個頁面時,通常情況下,是要調用頁面的構造函數來創建某頁的新實例的。即,不論你是向前導航還是向后導航,只要導航到某頁,某頁都會重新實例化。因此,就可以理解為什么Frame類用于導航的Navigate方法要這樣定義了:

public bool Navigate(System.Type sourcePageType)

這與Silverlight中的導航不同,SL中是傳遞URI的,而這里是傳遞頁面類的Type,就因為得到某個頁面類的Type,才會在導航是new一個實例出來。
感覺很抽象嗎?沒事,示例是無敵學習利器,還猶豫什么,動手。
1、啟動VS,新建一個”空白應用程序(Windows Phone)“項目。據說MS會統一所有平臺的命名,當然這是需要的,也是蓋茨的夢想。不管叫什么,系統還是一樣的,只是叫法不同罷了。
2、在App類中,找到OnLaunch方法,把CaheSize改為0。

rootFrame.CacheSize = 0;

3、把項目默認生成的MainPage.xaml刪掉,因為它的存在,嚴重影響示例的演示,為什么? 待會兒再告訴你。
4、向項目中添加三個空白頁,這個會了吧? 不會的話,就按Ctrl + Shift + A,試試。
5、三個頁面的結構差不多,所以這里我只說第一個頁面。XAML代碼如下:
?

【WP開發】正確理解頁面緩存


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 丰原市| 凌海市| 望奎县| 屏山县| 图们市| 太和县| 山阳县| 双城市| 云龙县| 柳河县| 闻喜县| 白河县| 七台河市| 新乡市| 介休市| 宾阳县| 那坡县| 阜康市| 五常市| 健康| 辽阳县| 盱眙县| 永寿县| 泌阳县| 罗城| 永昌县| 汽车| 神农架林区| 慈溪市| 陆川县| 霍城县| 土默特左旗| 绿春县| 平谷区| 满洲里市| 潍坊市| 宿迁市| 六安市| 武乡县| 体育| 合作市|