Memory Information on Windows Mobile

    Windows Mobile设备跟桌面PC比起来,资源是相当受限的。目前最新的设备一般也就128M RAM+256M Flash,再外扩4G的存储卡。但Windows Mobile设备的资源与RAM和Flash是用Byte来计算的8bit单片机来说,还是相当可观的,编程的时候也不用像以前那样抠门到以Byte来计算全局变量。虽然是如此,但是程序和OS都是在RAM中运行的,最郁闷的是,由于RAM不够大,以至于跑一些软件时,不得不关掉正在运行的程序,为其腾出一些空间来,这样捉襟见肘的日子在以前还是经常碰到的。

  大家知道,在Windows Mobile设备上,我们可以通过settings->system->memory来查看当前设备资源的使用状态,但是这个就需要动那么几下手,点击屏幕,麻烦。我们一般喜欢偷懒,让这些信息实时显示在今日界面上该多好啊,于是,好多公司的软件中都将设备资源的使用状态实时显示在界面上,比如Spb的,比如Resco的,很多很多。

  其实,在WM6.0 SDK自带的Sample中,就有相关的程序,它位于” \PocketPC\CPP\win32\MemWatcher”文件夹下。这个工程是用native code写的一个今日界面的插件,编译完以后,生成一个dll文件和cab安装文件,我们可以直接将cab文件安装到设备上,然后在今日界面的设置中,将它显示。如下图1所示:

图1:MemWatcher的今日插件

  当然,我们也可以通过platform invoke将coredll中的GetDiskFreeSpaceEx引入进来,通过得到的Total Free Bytes和Total Bytes计算当前的资源使用情况。如图2所示:左边是程序的运行效果,右边是settings->system->memory的信息,通过比较可以发现,他们显示的资源信息是一致的。

图2:计算Memory使用的程序

  附上今日插件的那个MemWatcher安装包:memwatchercab.CAB.rar,下载后,直接将文件命改为memwatchercab.CAB,然后在设备上安装即可。以及显示资源程序的源文件:GetStorageCard.zip

参考文章:Display Device memory information with P/Invoke

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Flutter入门到实战

老司机带你快速上手调试Flutter项目

在讲解调试工具之前,先来看看有关的设置选项,点击菜单栏File-->Settings-->Languages & Frameworks --> Flutter,...

76130
来自专栏13blog.site

Intellij IDEA查看所有断点

项目中打的断点太多,有时自己也想不到打在哪里了,也不知道哪些方法、哪些代码行上打了断点,在IDEA中如何查看所有断点呢? 方法如下: step 1 IDE...

39590
来自专栏吴柯的运维笔记

如何用Rysnc实现数据同步?

Rsync(remote sync) 是UNIX及类UNIX平台一款数据镜像备份软件,它不像FTP等其他文件传输服务那样需要进行全备份,Rsync可以根据数据...

426130
来自专栏云计算教程系列

如何使用Prometheus监控CentOS 7服务器

Prometheus是由SoundCloud开发的开源监控系统。与其他监控系统(如InfluxDB和Graphite)一样,Prometheus将其所有数据存储...

1.3K00
来自专栏飞雪无情的博客

第一个Android应用,HelloWorld

这节主要内容是使用ADT创建一个Helloword实例,并进行概要分析,中间会有AVD的创建。

10130
来自专栏互联网开发者交流社区

SpringBoot配置文件的加载位置

23220
来自专栏云计算教程系列

如何在Ubuntu 18.04上使用uWSGI和Nginx为Flask应用程序提供服务

在本指南中,您将使用Ubuntu 18.04上的Flask微框架构建Python应用程序。本文的大部分内容将涉及如何设置uWSGI应用程序服务器以及如何启动应用...

41100
来自专栏SpringBoot 核心技术

第一章:Maven环境下如何配置QueryDSL环境

24830
来自专栏运维小白

Linux基础(day3)

1.9 使用PuTTY远程连接Linux 记得使用快照功能 (数据备份) 熟练使用putty和xshell (个人使用免费) putty官网下...

20990
来自专栏晓晨的专栏

Jenkins 集群搭建

Jenkins是当下比较流行的一款功能强大的持续集成工具,它支持搭建集群,来提高多项目的构建速度,模式为主从模式,master会将任务分配到各个从节点进行并发构...

37750

扫码关注云+社区

领取腾讯云代金券