在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Windows Phone開發(fā)(3):棋子未動,先觀全局

            Windows Phone開發(fā)(3):棋子未動,先觀全局

            作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

            在進行WP開發(fā)之前,與其它開發(fā)技術(shù)一樣,我們需要簡單了解一個WP應(yīng)用序的生命周期,我們不一定要深入了解,但至少要知道在應(yīng)用程序生命周期內(nèi)的每一階段,我們應(yīng)當做什么,不推薦哪些操作等,這也是為了讓我們開發(fā)出更高性能,更優(yōu)秀的應(yīng)用程序打下堅實的基礎(chǔ)。

            本文引用地址:http://www.biyoush.com/article/201609/303394.htm

            下圖是官方給出的WP應(yīng)用程序執(zhí)行模型圖。

            在上圖中,我們要注意以下四個事件:

            1、Launching 事件。

            說白了,就是應(yīng)用程序剛啟動時觸發(fā)的事件,由于這個事件的一點特殊性,盡量不要在該事件處理程序中做大量的操作,比如比較耗時間的作業(yè),為什么呢?你想想,如果你的某個操作需要消耗大量時間的話,那么,你肯定會發(fā)現(xiàn),程序啟動的速度很慢,這樣一來,用戶會很不爽,用戶體驗就大打折扣。

            2、Activated事件。

            應(yīng)用程序被激活時觸發(fā),例如,我的程序上面有一個按鈕,用戶點擊后打開發(fā)短信的“窗口”,當用戶發(fā)送完短信后,發(fā)短信的頁面就關(guān)閉,這時候,我們的應(yīng)用程序又從后臺程序變?yōu)榍芭_程序了,Activated事件將觸發(fā),注意的是,第一次啟動程序時是不觸發(fā)該事件的。

            3、Deactivated事件。

            與Activated事件相對,比如上面舉的例子,當我在程序上點擊按鈕時,發(fā)送短信的頁面將啟動,這時候,當前應(yīng)用程序就被前面的發(fā)短信的頁面擋住了,也就是說,當前程序被發(fā)送到后臺,這個時刻就觸發(fā)了Deactivated事件。不過,如果應(yīng)用程序?qū)㈥P(guān)閉,該事件不觸發(fā)。

            4、Closing事件。

            從字面意思就猜到該事件在啥時候發(fā)生了。對,當應(yīng)用程序關(guān)閉時發(fā)生,但在應(yīng)用程在導航中被發(fā)送到后臺時不發(fā)生,比如剛才說的打開發(fā)短信的頁面后,雖然程序被發(fā)送到后臺了,但由于它仍在運行,沒有退出,所以這個時候不觸發(fā)。但如果我從“開始”或桌面磁磚中啟動程序后,然后再通過“返回”鍵回到桌面,這個時候因為程序會退出,所以該事件觸發(fā)。

            為了驗證這些事件是如何發(fā)生的,我們在app.xaml.cs文件中,分別為這幾個事件寫下調(diào)試輸出代碼。

            [csharp]
            1. //應(yīng)用程序啟動(例如,從“開始”菜單啟動)時執(zhí)行的代碼
            2. //此代碼在重新激活應(yīng)用程序時不執(zhí)行;
            3. privatevoidApplication_Launching(objectsender,LaunchingEventArgse)
            4. {
            5. System.Diagnostics.Debug.WriteLine(DateTime.Now.ToShortTimeString()+-應(yīng)用程序首次啟動。);
            6. }
            7. //激活應(yīng)用程序(置于前臺)時執(zhí)行的代碼
            8. //此代碼在首次啟動應(yīng)用程序時不執(zhí)行
            9. privatevoidApplication_Activated(objectsender,ActivatedEventArgse)
            10. {
            11. System.Diagnostics.Debug.WriteLine(DateTime.Now.ToShortTimeString()+-應(yīng)用程序被激活。);
            12. }
            13. //停用應(yīng)用程序(發(fā)送到后臺)時執(zhí)行的代碼
            14. //此代碼在應(yīng)用程序關(guān)閉時不執(zhí)行
            15. privatevoidApplication_Deactivated(objectsender,DeactivatedEventArgse)
            16. {
            17. System.Diagnostics.Debug.WriteLine(DateTime.Now.ToShortTimeString()+-應(yīng)用程序休眠。);
            18. }
            19. //應(yīng)用程序關(guān)閉(例如,用戶點擊“后退”)時執(zhí)行的代碼
            20. //此代碼在停用應(yīng)用程序時不執(zhí)行
            21. privatevoidApplication_Closing(objectsender,ClosingEventArgse)
            22. {
            23. System.Diagnostics.Debug.WriteLine(DateTime.Now.ToShortTimeString()+-應(yīng)用程序關(guān)閉。);
            24. }

            然后,我們運行程序,當主頁面出現(xiàn)后,點擊模擬器上的“返回”鍵把程序關(guān)閉。

            這時候,我們再去看一下“輸出”窗口。

            通過這個實驗,我們發(fā)現(xiàn)Activated事件和Deactivated事件未被觸發(fā),為什么?自己思考吧。

            下面,我們在頁面中放一個按鈕,點擊按鈕后,打開發(fā)送短信的頁面。

            [html]
            1. !--ContentPanel-在此處放置其他內(nèi)容-->
            2. Gridx:Name=ContentPanelGrid.Row=1Margin=12,0,12,0>
            3. ButtonVerticalAlignment=Top
            4. HorizontalAlignment=Center
            5. Content=請點擊我
            6. FontSize=64
            7. Click=Button_Click
            8. Margin=0,12,0,0/>
            9. /Grid>

            編寫單擊事件代碼。

            [csharp]
            1. privatevoidButton_Click(objectsender,RoutedEventArgse)
            2. {
            3. Microsoft.Phone.Tasks.SmsComposeTasksms=newMicrosoft.Phone.Tasks.SmsComposeTask();
            4. sms.To=13672265138;
            5. sms.Body=你好啊,今天中午請我吃牛肉炒飯嗎?;
            6. sms.Show();
            7. }

            按F5運行,再點擊按鈕,打開發(fā)短信頁面。

            看看“輸出”窗口,這時候,就看到Deactivated事件發(fā)生了,因為程序還沒有退出,只是被放到后臺。

            接著,點擊模擬器的“返回”,退回到我們的程序。再看看輸出窗口。

            這個時候,Activated事件就發(fā)生了。

            OK,今天的牛皮就吹到這里吧。



            關(guān)鍵詞: Windows Phone

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉