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

歡迎訪問 生活随笔!

生活随笔

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

windows

[转载]windows phone 墓碑化(9)

發布時間:2025/3/21 windows 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转载]windows phone 墓碑化(9) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
windows phone 墓碑化(9)

幾個術語的理解:

名稱

說明

Launched

啟動新程序的啟動

Closed

通過Back按鍵關閉程序

Deactivated

一個正在程序運行,此時按start鍵,程序停用,此后進入墓碑化

Activated

程序從墓碑化復活,即激活

那么我們程序的生命周期也就大致顯示出來了:

生命周期的描述:當我們在start頁面運行一個程序A時,此時程序A進入啟動(Launched)階段,啟動完成之后,程序一般會相當長的時間處于running狀態,如果此時你按Back鍵,則直接進入Closed狀態,還有就是在運行過程中有突發事件,比如來電話,來信息,或者你需要運行程序B,你就按Start鍵,在按Start鍵的時候處于Deactivated狀態,然后在運行程序B的過程中,程序A一直處于Tombstoning墓碑化狀態(除非你從Start頁重新啟用程序A的新實例),在操作程序B的過程中你如果長按Back鍵,系統會調出卡片式任務管理器,里面就會包含程序A,程序B,Start頁面,如果點擊程序A,此時程序A就會被激活,進入運行狀態,之至改程序被關閉,程序A的生命周期就完成了;

在App.xaml.cs文件中可以找到改變這幾個狀態時所觸發的事件,事件里面有注解就不在詳細說明了

View Code // 應用程序啟動(例如,從“開始”菜單啟動)時執行的代碼
???????
// 此代碼在重新激活應用程序時不執行
??????? private void Application_Launching(object sender, LaunchingEventArgs e)
??????? {
??????????? //可以從獨立存儲空間讀取資料進行初始化
??????? }

??????? // 激活應用程序(置于前臺)時執行的代碼
???????
// 此代碼在首次啟動應用程序時不執行
??????? private void Application_Activated(object sender, ActivatedEventArgs e)
??????? {
??????????? //可以恢復臨時數據
??????????
??????????
??????? }

??????? // 停用應用程序(發送到后臺)時執行的代碼
???????
// 此代碼在應用程序關閉時不執行
??????? private void Application_Deactivated(object sender, DeactivatedEventArgs e)
??????? {
??????????? //存儲臨時數據,以便用戶從墓碑化狀態激活
???????????
??????? }

??????? // 應用程序關閉(例如,用戶點擊“后退”)時執行的代碼
???????
// 此代碼在停用應用程序時不執行
??????? private void Application_Closing(object sender, ClosingEventArgs e)
??????? {
??????????? //程序按Back鍵時,可以存儲到獨立存儲空間
??????? }

效果:

那么下面的案例就是在用戶關閉程序后,在從任務管理器中重新激活或者通過Back鍵返回到程序,進行數據的暫存;其實就是讓用戶感覺不到程序已經關閉了,當用戶程序回到程序時,和用戶離開時呈現出來的相一致;

由于MainPage.xaml頁面沒有任何修改,所以沒有貼出,MainPage隱藏文件代碼:

View Code using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Microsoft.Phone.Controls;
//
using Microsoft.Phone.Shell;

namespace Tombstoned
{
??? public partial class MainPage : PhoneApplicationPage
??? {
??????? int sum = 0;
??????? App ap = (App)Application.Current;
??????? // 構造函數
??????? public MainPage()
??????? {
??????????? InitializeComponent();
??????? }
??????? //經驗證此方法只有在程序啟動的時候才加載
??????? private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
??????? {
??????????? //this.ApplicationTitle.Text = ap.appKey;
??????? }
??????? protected override void OnManipulationStarted(ManipulationStartedEventArgs e)
??????? {
??????????? sum++;
??????????? //程序標題處顯示
??????????? this.PageTitle.Text = sum.ToString();
??????????? ap.appKey = this.PageTitle.Text;
??????????? base.OnManipulationStarted(e);
??????? }

??????? protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
??????? {
??????????? if (!string.IsNullOrEmpty(ap.appKey))
??????????? {
??????????????? this.PageTitle.Text = ap.appKey;
??????????? }
????????
??????????? base.OnNavigatedTo(e);
??????? }
??????
??? }
}

從上面代碼中可以看出我們是把數據保存到App類中的一個公共屬性中了,我們在觸摸事件中把自加的數值賦值于App公共屬性appKey,在MainPage頁面加載后調用OnNavigatedTo方法進行初始化,可以看出我們把臨時數據保存在App類中了,那么App類中是怎么實現的那;App類隱藏文件中添加的代碼如下:

public string appKey { get; set; }

即保存數據的公共屬性,其中我們用到的兩個方法,并把他們實現:

View Code // 激活應用程序(置于前臺)時執行的代碼
???????
// 此代碼在首次啟動應用程序時不執行
??????? private void Application_Activated(object sender, ActivatedEventArgs e)
??????? {
??????????? //可以恢復臨時數據
??????????? object str=string.Empty;

??????????? if (PhoneApplicationService.Current.State.TryGetValue("key", out str))
??????????? {
??????????????? appKey=str.ToString();
??????????? }
??????????
??????? }

??????? // 停用應用程序(發送到后臺)時執行的代碼
???????
// 此代碼在應用程序關閉時不執行
??????? private void Application_Deactivated(object sender, DeactivatedEventArgs e)
??????? {
??????????? //存儲臨時數據,以便用戶從墓碑化狀態激活
??????????? PhoneApplicationService.Current.State["key"] = appKey;
??????? }

可以看到我們是在用戶遇到突發事件(如電話)時用PhoneApplicationService.Current.State進行存儲的,并在用戶通過任務管理器或者Back鍵時激活改程序,并用

PhoneApplicationService.Current.State.TryGetValue方法獲取值,該方法的好處是不會報出異常信息;任務管理器的的效果圖:

windows phone 7 對多個應用程序的管理:windows phone 7 是通過棧對多個程序進行管理的,當我們運行程序A的時候,如果我們需要運行程序B,那么我們會按Start鍵,Start鍵就會把程序A壓入棧中(此時程序A是停止運行的),如果需要運行程序C,同樣程序B也會被壓入棧中,那么按Back鍵就會把當前程序C終止,并從棧中獲得最后一個壓入程序B,進行激活使用;

源碼

總結

以上是生活随笔為你收集整理的[转载]windows phone 墓碑化(9)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 黄站在线观看 | 韩国av免费在线观看 | 中文字幕欧美另类精品亚洲 | 亚洲欧美激情图片 | 久久久久久久久免费视频 | 操操干干 | 日韩黄色影视 | 国产精品久久..4399 | 久久免费视频6 | 天堂8在线天堂资源bt | 亚洲av毛片 | 日本高清免费不卡视频 | 色牛影院 | 97av在线播放| 交视频在线播放 | 日韩在线观看av | 久久99免费 | 中日韩精品一区二区三区 | 精品在线播放视频 | 91吃瓜今日吃瓜入口 | 亚洲精品国产日韩 | 成人在线手机视频 | 国产成人精品亚洲日本在线观看 | 懂色av一区二区 | 日韩字幕在线 | 无码国产精品高潮久久99 | 欧美久久一区二区三区 | 91精品国产综合久久福利软件 | 激情另类小说 | 男人视频网站 | 亚洲午夜无码久久久久 | 国产初高中真实精品视频 | 精品国产人妻一区二区三区 | 国产亚洲小视频 | 成人av资源网 | 亚洲av永久无码精品放毛片 | 99视频+国产日韩欧美 | 精品国产乱码久久久久久蜜柚 | 成人免费在线小视频 | 在线观看的毛片 | 99re这里只有精品在线 | 米奇影音 | 一区二区导航 | 午夜在线观看影院 | 久久久久久久久久网 | 毛片你懂的 | 开心色站 | 成人免费毛片嘿嘿连载视频 | 日韩1024 | 一区二区欧美在线观看 | 91精品国产综合久久香蕉 | 亚洲天堂伊人网 | 四季av国产一区二区三区 | 老妇高潮潮喷到猛进猛出 | 91亚洲国产成人精品一区二三 | 日韩黄视频 | 91精品视频网 | 国产亚洲精品成人无码精品网站 | 国模私拍在线观看 | 伊人tv| 三上悠亚久久 | 久久精品国产电影 | 亚洲精品无码专区 | 欧美视频综合 | 毛片在线免费观看网站 | 成熟丰满熟妇高潮xxxxx视频 | 中国成熟妇女毛茸茸 | 男人在线视频 | 日本一区二区三区电影在线观看 | 国产熟女一区二区三区四区 | 欧美亚洲第一页 | 伊人资源 | 亚洲视屏在线观看 | 岳狂躁岳丰满少妇大叫 | free女性xx性老大太 | 欧美婷婷 | 国产精品区在线 | 玖玖五月| 国产1区2区| 日韩精品在线网站 | 亚洲是色 | 国产黄色三级网站 | 蜜桃视频成人在线观看 | 国产精品久久久久电影 | 激情综合文学 | 不许穿内裤随时挨c调教h苏绵 | 国产成人精品久久二区二区91 | 日日摸日日| 成人短视频在线 | 日产久久视频 | 国产第九页 | 免费大片黄在线观看 | 福利在线一区二区三区 | 午夜视频色 | 毛片一级在线观看 | 久久97精品久久久久久久不卡 | 欧美久操 | 深夜福利视频在线 | 波多野结衣影院 |