www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]在進(jìn)行WP開發(fā)之前,與其它開發(fā)技術(shù)一樣,我們需要簡(jiǎn)單了解一個(gè)WP應(yīng)用序的生命周期,我們不一定要深入了解,但至少要知道在應(yīng)用程序生命周期內(nèi)的每一階段,我們應(yīng)當(dāng)做什么,

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

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

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

1、Launching 事件。

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

2、Activated事件。

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

3、Deactivated事件。

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

4、Closing事件。

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

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

[csharp] 
  1. // 應(yīng)用程序啟動(dòng)(例如,從“開始”菜單啟動(dòng))時(shí)執(zhí)行的代碼  
  2. // 此代碼在重新激活應(yīng)用程序時(shí)不執(zhí)行;  
  3. private void Application_Launching(object sender, LaunchingEventArgs e)  
  4. {  
  5.     System.Diagnostics.Debug.WriteLine(DateTime.Now.ToShortTimeString() + " - 應(yīng)用程序首次啟動(dòng)。");  
  6. }  
  7.   
  8. // 激活應(yīng)用程序(置于前臺(tái))時(shí)執(zhí)行的代碼  
  9. // 此代碼在首次啟動(dòng)應(yīng)用程序時(shí)不執(zhí)行  
  10. private void Application_Activated(object sender, ActivatedEventArgs e)  
  11. {  
  12.     System.Diagnostics.Debug.WriteLine(DateTime.Now.ToShortTimeString() + " - 應(yīng)用程序被激活。");  
  13. }  
  14.   
  15. // 停用應(yīng)用程序(發(fā)送到后臺(tái))時(shí)執(zhí)行的代碼  
  16. // 此代碼在應(yīng)用程序關(guān)閉時(shí)不執(zhí)行  
  17. private void Application_Deactivated(object sender, DeactivatedEventArgs e)  
  18. {  
  19.     System.Diagnostics.Debug.WriteLine(DateTime.Now.ToShortTimeString() + " - 應(yīng)用程序休眠。");  
  20. }  
  21.   
  22. // 應(yīng)用程序關(guān)閉(例如,用戶點(diǎn)擊“后退”)時(shí)執(zhí)行的代碼  
  23. // 此代碼在停用應(yīng)用程序時(shí)不執(zhí)行  
  24. private void Application_Closing(object sender, ClosingEventArgs e)  
  25. {  
  26.     System.Diagnostics.Debug.WriteLine(DateTime.Now.ToShortTimeString() + " - 應(yīng)用程序關(guān)閉。");  
  27. }  

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

這時(shí)候,我們?cè)偃タ匆幌?ldquo;輸出”窗口。

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

下面,我們?cè)陧撁嬷蟹乓粋€(gè)按鈕,點(diǎn)擊按鈕后,打開發(fā)送短信的頁面。

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

編寫單擊事件代碼。

[csharp] 
  1. private void Button_Click(object sender, RoutedEventArgs e)  
  2. {  
  3.     Microsoft.Phone.Tasks.SmsComposeTask sms = new Microsoft.Phone.Tasks.SmsComposeTask();  
  4.     sms.To = "13672265138";  
  5.     sms.Body = "你好啊,今天中午請(qǐng)我吃牛肉炒飯嗎?";  
  6.     sms.Show();  
  7. }  

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

看看“輸出”窗口,這時(shí)候,就看到Deactivated事件發(fā)生了,因?yàn)槌绦蜻€沒有退出,只是被放到后臺(tái)。

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

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

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動(dòng)電源

在工業(yè)自動(dòng)化蓬勃發(fā)展的當(dāng)下,工業(yè)電機(jī)作為核心動(dòng)力設(shè)備,其驅(qū)動(dòng)電源的性能直接關(guān)系到整個(gè)系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動(dòng)勢(shì)抑制與過流保護(hù)是驅(qū)動(dòng)電源設(shè)計(jì)中至關(guān)重要的兩個(gè)環(huán)節(jié),集成化方案的設(shè)計(jì)成為提升電機(jī)驅(qū)動(dòng)性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機(jī) 驅(qū)動(dòng)電源

LED 驅(qū)動(dòng)電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個(gè)照明設(shè)備的使用壽命。然而,在實(shí)際應(yīng)用中,LED 驅(qū)動(dòng)電源易損壞的問題卻十分常見,不僅增加了維護(hù)成本,還影響了用戶體驗(yàn)。要解決這一問題,需從設(shè)計(jì)、生...

關(guān)鍵字: 驅(qū)動(dòng)電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動(dòng)電源的公式,電感內(nèi)電流波動(dòng)大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計(jì) 驅(qū)動(dòng)電源

電動(dòng)汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動(dòng)汽車的核心技術(shù)之一是電機(jī)驅(qū)動(dòng)控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機(jī)驅(qū)動(dòng)系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動(dòng)汽車的動(dòng)力性能和...

關(guān)鍵字: 電動(dòng)汽車 新能源 驅(qū)動(dòng)電源

在現(xiàn)代城市建設(shè)中,街道及停車場(chǎng)照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進(jìn)步,高亮度白光發(fā)光二極管(LED)因其獨(dú)特的優(yōu)勢(shì)逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動(dòng)電源 LED

LED通用照明設(shè)計(jì)工程師會(huì)遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動(dòng)電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動(dòng)電源的電磁干擾(EMI)問題成為了一個(gè)不可忽視的挑戰(zhàn)。電磁干擾不僅會(huì)影響LED燈具的正常工作,還可能對(duì)周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動(dòng)電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機(jī)重量也有所下降,所以,現(xiàn)在的LED驅(qū)動(dòng)電源

關(guān)鍵字: LED 驅(qū)動(dòng)電源 開關(guān)電源

LED驅(qū)動(dòng)電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動(dòng)LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動(dòng)電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動(dòng)電源
關(guān)閉
關(guān)閉