【转载】Windows Phone 的设备状态

 

2012/2/9

您可以使用 DeviceStatus 类确定有关设备的状态信息,如设备的总内存、设备的硬件版本以及是否部署了物理键盘。此外,您还可以注册多个事件,以便在某些属性发生更改时通知您的应用程序。

在 Windows Phone OS 7.0 中,使用了 DeviceExtendedProperties 类来查询特定于设备的属性。在 Windows Phone OS 7.1 中,DeviceExtendedProperties 的大多数属性已弃用,而应改用新的 DeviceStatus 类。但是,在适当时,您仍然可以使用 DeviceExtendedProperties 中未弃用的属性。

重要说明重要说明:

有关如何使用此类的代码示例,请参阅 Windows Phone 的代码示例如何使用 Windows Phone 的 DeviceStatus 类上的设备状态示例



  • 常规设备信息

    您可以查询 DeviceStatus 属性以获取有关设备的信息,如内存总量、硬件版本以及设备制造商名称。

  • 在锁定屏幕之外运行的应用程序

    某些类型的应用程序(如旅行者用于显示日期和时间的简单警报时钟应用程序)通过在锁定屏幕之外运行来使用户获益。与询问用户是否同意组合在一起,您可以使用 PowerSource API 和 PowerSourceChanged 事件了解手机何时插入外部电源。

  • 键盘可用性

    您的应用程序可以选择支持横向或纵向模式,具体情况取决于硬件键盘是否可用。对于这些或其他应用程序,您可以使用 IsKeyboardPresent 属性、IsKeyboardDeployed 属性以及 KeyboardDeployedChanged 事件。

  • 监视内存使用情况

    开发应用程序时,您可以使用 ApplicationCurrentMemoryUsageApplicationPeakMemoryUsage 属性来监视内存使用情况,使用 DeviceTotalMemoryApplicationMemoryUsageLimit 属性来确定设备和应用程序的内存限制。没必要以非常小的间隔检查应用程序的内存使用情况。偶尔检查高峰内存使用量就足够了。如果您发现高峰内存使用量值超过允许的阈值,如技术认证要求的第 5.2 节中所述,则可以选择更加细微地监视内存使用情况以便帮助诊断问题。

    如果您的应用程序占用大量内存,则跟踪应用程序中主要对象(如页面和用户控件)的实例计数。如果有多个非最终的实例超过预期,则应该调查未释放这些实例的原因。

  • 应用程序不应该向用户呈现原始设备状态信息或不应该尝试动态分析或处理有关设备的设备状态信息。建议使用 DeviceStatus API 将原始设备状态信息发送到 Web 服务以便生成统计数据或使用情况数据。DeviceName 属性还可以用于标识设备以便减少特定于该设备的已知错误。

以下示例显示一种监视应用程序内存使用情况的方法。该方法设置一个计时器,该计时器每隔 10 秒显示应用程序的内存使用情况。

public partial class MainPage : PhoneApplicationPage
    {
        DispatcherTimer timer;

        // Constructor
        public MainPage()
        {
            InitializeComponent();
            timer = new DispatcherTimer();
            timer.Interval = new TimeSpan(0,0,10);
            timer.Tick += new EventHandler(timer_Tick);
            timer.Start();
        }

        void timer_Tick(object sender, EventArgs e)
        {
            try
            {
                // These are TextBlock controls that are created in the page’s XAML file.      
                MemoryTextBlock.Text = Microsoft.Phone.Info.DeviceStatus.ApplicationCurrentMemoryUsage.ToString();
                PeakMemoryTextBlock.Text = Microsoft.Phone.Info.DeviceStatus.ApplicationPeakMemoryUsage.ToString();
            }
            catch (Exception ex)
            {
                MemoryTextBlock.Text = ex.Message;
            }
        }
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Windows Phone是由微软推出的移动操作系统,它提供了丰富的开发工具和教程,使开发者可以轻松地创建各种类型的应用程序。下面是Windows Phone开发教程的一些步骤: 1. 准备开发环境:首先,你需要安装Windows Phone SDK,并且拥有一台运行Windows 8或更高版本的电脑。然后,你需要注册一个开发者账户,这样你就可以在Windows Phone商店中发布你的应用程序了。 2. 学习开发语言:Windows Phone应用程序主要使用C#语言进行开发,因此你需要熟悉C#语言的基本语法和特性。同时,你也需要了解XAML标记语言,用于设计应用程序的用户界面。 3. 使用Visual Studio开发工具:Windows Phone开发主要使用Visual Studio作为集成开发环境,它提供了丰富的工具和模板,帮助你创建各种类型的应用程序,包括游戏、商务应用和社交应用等。 4. 学习应用程序的生命周期:你需要了解Windows Phone应用程序的生命周期和事件模型,以便正确地处理应用程序的启动、挂起和恢复等状态。 5. 学习应用程序的数据存储和互联网连接:在开发Windows Phone应用程序时,你可能需要将数据保存到本地数据库或者通过网络连接获取数据,因此你需要学习使用本地存储和网络连接的相关知识。 总之,学习Windows Phone开发需要你掌握C#语言和XAML标记语言,熟悉Visual Studio开发工具,并且了解应用程序的生命周期和数据存储等知识。通过不断的实践和学习,你可以成为一名优秀的Windows Phone开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值