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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

《Windows Phone 8 Development Internals》读书笔记-1-2-1-连载

發布時間:2024/4/17 windows 70 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《Windows Phone 8 Development Internals》读书笔记-1-2-1-连载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第二章:應用程序模型和導航(1)

本章核心問題:

  • 應用程序的生命周期
  • 微軟基于頁面的Silverlight應用程序框架的導航模型
  • 一、 應用程序的生命周期

    WP平臺的最大優勢在于應用程序有著相同且統一的工作方式,所有的應用程序都遵循著相同的準則,這些準則給用戶帶來了良好的體驗。具體包括:

    • 同一時間可以有多個應用運行,但是只能有一個應用程序是活動的可以出現在屏幕上;
    • 同一時間只能有一個活動頁面,活動頁面是可以相互切換的;
    • 用戶可以點擊Win鍵由活動的應用程序回到主界面;
    • 用戶點擊返回按鍵(左按鍵)可以返回上一屏幕,如果到達最開始的界面那么再次點擊返回按鍵就退出應用程序;
    • 幾乎所有的WP應用程序采用單實例存儲(例外:電子郵件采用多實例方案)

    作為應用程序開發者需要注意以下兩個事件:

  • 關閉事件:當用戶在應用程序開始界面點擊返回按鍵的時候,應用程序終止,接收關閉事件,殺死實例對象,關閉應用程序本身
  • 失活狀態:
    • 墓碑:應用程序是失效的,但是實例是保存的,沒有任務程序在內存中運行,但是系統記得關鍵點,可以保證它被再次激活
    • 應用程序快速恢復:應用程序是失效的,但不是墓碑狀態,然后又快速激活(怎么好理解這個狀態呢?比如說你進入一個應用程序,然后持續按返回按鈕,應用程序界面會縮放,當你再次點擊應用程序界面,界面會放大,再次回到應用程序中)

    當我們利用VS創建一個WP應用程序時,會自動生成一些模板代碼和生命周期事件,包括:啟動、激活、失活、關閉。當然用戶也可以重寫OnNavigatedFrom方法和OnNavigatedTo方法。

    PS:

  • 當用戶即將離開當前頁時,將調用OnNavigatedFrom 方法;
  • 當用戶從其它頁面導航到該頁面時調用OnNavigatedTo 方法。
  • 事件/方法

    說明

    APP

    啟動

    創建應用程序新實例

    APP

    失活

    應用程序失活,進程被殺死,可以保持程序的狀態

    APP

    激活

    重新加載應用程序狀態

    APP

    關閉

    保存狀態和清理垃圾

    所有

    OnNavigatedFrom

    用戶即將離開當前頁

    所有

    OnNavigatedTo

    用戶從其它頁面導航到該頁面

    ?

    應用程序正常終止:

    圖1-1:正常關閉應用程序生命周期

    應用程序停止-快速恢復:

    圖1-2:應用程序停止-快速恢復生命周期

    墓碑狀態:

    圖1-3:應用程序墓碑狀態生命周期

    PS:如果對WP墓碑機制不太了解的朋友可查閱相關資料。說的簡單點,就是手機上一個任務被迫中斷時(如有電話打入),系統記錄下當前應用程序的狀態后,(像把事件記錄在墓碑上一樣),然后中止程序。當需要恢復時,根據“墓碑”上的內容,將程序恢復到中斷之前的狀態。

    對比圖1-2和1-3之間的異同,有助于更好地理解WP各個狀態的生命周期

    失活:

    圖1-4:應用程序失活

    圖1-5:應用程序激活

    我們現在創建一個WP8應用程序,體驗下各個過程:

    打開App.xaml.cs修改代碼如下

    // 應用程序啟動(例如,從“開始”菜單啟動)時執行的代碼// 此代碼在重新激活應用程序時不執行private void Application_Launching(object sender, LaunchingEventArgs e){Debug.WriteLine("應用程序啟動");}// 激活應用程序(置于前臺)時執行的代碼// 此代碼在首次啟動應用程序時不執行private void Application_Activated(object sender, ActivatedEventArgs e){Debug.WriteLine("應用程序激活");}// 停用應用程序(發送到后臺)時執行的代碼// 此代碼在應用程序關閉時不執行private void Application_Deactivated(object sender, DeactivatedEventArgs e){Debug.WriteLine("應用程序停止");}// 應用程序關閉(例如,用戶點擊“后退”)時執行的代碼// 此代碼在停用應用程序時不執行private void Application_Closing(object sender, ClosingEventArgs e){Debug.WriteLine("應用程序關閉");}

    打開MainPage添加代碼:

    protected override void OnNavigatedTo(NavigationEventArgs e){Debug.WriteLine("用戶從其它頁面導航到該頁面");}protected override void OnNavigatedFrom(NavigationEventArgs e){Debug.WriteLine("用戶即將離開當前頁");}

    運行進入模擬器:

    過程如下

    圖1-6:啟動應用程序

    圖1-7:應用程序失活

    圖1-8:激活應用程序

    圖1-9:應用程序關閉

    PS:對于沒有XAML基礎的友友建議抽點時間看看XMAL,這對以后的WP開發學習很有幫助。更新日期:周一~周五

    轉載于:https://www.cnblogs.com/Foregoer/p/3865565.html

    總結

    以上是生活随笔為你收集整理的《Windows Phone 8 Development Internals》读书笔记-1-2-1-连载的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。