试论Android平台的软件自动化监控工具的设计开发

2015-10-27 12:27张小波龚威
电脑知识与技术 2015年21期
关键词:Android平台

张小波++龚威

摘要:众所周知,Android系统是Google公司在2008年推出的,它是以Linux为基础的半开源操作系统,主要运用于便捷的移动设备,如手机、平板以及GPS等通信设备上。目前已经从 Android1.0版本更新推出到5.0 版本,操作的流畅度越来越高,各种硬件设备以及稳定性能也在不断提高。此外,Android平台具有开放性的显著特点,开放性有利于积累更多的人气,可以使其吸引更多的移动终端厂商与开发商,随着应用软件与消费者的不断增加,使得很多设备商都积极投入到Android手机软件的开发中。该文主要研究基于 Android平台的软件自动化监控工具的设计与开发,通过介绍 Android 开发平台,并探讨软件需求和软件实现的方法,最终完成软件的设计开发,以满足自动化监控工具的需求。

关键词:Android平台;软件自动化;监控工具

中图分类号:Tp311 文献标识码:A 文章编号:1009-3044(2015)22-0083-02

1 概述

随着信息技术与互联网技术的不断发展,近几年,智能手机越来越受到人们的欢迎与喜爱,在众多类型不同的智能手机系统中,Android系统凭借其开半源以及开放性的特殊优势,加上Android系统本身应用软件的不断开发与优化更新,使得其在短时间内快速占领市场。随着Android系统智能手机设备的不断优化、完善以及更新,使得越来越多的开发商不断加入到 Android 系统手机游戏以及手机APP的开发当中。

2 基于Android系统的自动化监控软件的设计

2.1 对自动化监控软件需求的分析

在Android平台的软件自动化监控工具的设计与开发过程中,需要对软件需求进行分析,为其提供监控对象与监控记录的各种数据,并在后台做好记录数据的工作。由于采集数据的准确性,是需要待测的应用软件进入前台的显示操作时才可以保证,因为Android 系统本身的原因,非前台的显示操作均处在挂起的阶段,这样就很有可能释放出一些内存,然而,后台显示被占用内存是没有运行的,因此,需要记录下运行状态中显示的相关数据,才可以准确地反映出软件的各种信息[1]。 在Android平台的软件自动化监控工具的设计与开发中,需要采集各种各样的信息,才可以准确判断出待测软件的主要性能,此外,而且还要兼顾到满足当下所有 Android 版本的手机系统。我们可以先来画出这个自动化监控软件的工作流程,如下图1所示。

图1 自动化监控软件工作流程图

2.2 需要采集的数据及方法

因为Android是以Linux为基础的半开源操作系统,所以采集数据的方式一般都是通过读取系统的文件信息来进行的。检验应用软件在智能手机里的运行状况,一般可以从下面5个方面着手:

1)获取内存信息

在智能手机中,需要记录的内存信息主要包括:总内存、剩余内存、待测软件占用内存。其中手机总内存可由读取/proc/meminfol来得到;剩余内存可由 Android 系统所提供的接口函数来获取;由于在Android 系统里面的运行的软件都具有既独立又共享的特点,使得待测软件占用内存情况相对来说很复杂。一般情况下,Android 系统2.2以上的版本可以通过提供的接口函数来获得内存大小,而Android 系统2.2以下版本的内存可通过读取系统文件来获取[2]。

2)CPU的使用情况

CPU的使用情况分为两种:一是智能手机里面所有进程的使用情况,二是待测软件的使用情况。在智能手机Android系统的文件里面,CPU包含着大量的信息,需要通过采集不同时间段的系统文件信息来实现。

3)CPU的使用时间

一般情况下,CPU的使用率只能反映某一瞬间进程对CPU资源的使用情况,需要在一定的时间段内,进程中所占用CPU的总时间才可以反映待测软件所占内存的大小,在智能手机Android 系统文件里,有两种进程占用时间的情况,即utime(用户态运行时间)和stime(核心态运行时间),utime与stime运行时间的总和就是待测软件所占用CPU总时间的大小。

4)智能手机流量的大小

使用过智能手机的人都知道,智能手机的流量的大小可以分为两种,即Wi-Fi流量与GPRS流量,其中Wi-Fi流量一般都的免费的,而GPRS流量是要扣费的,因此,Android平台的软件自动化监控工具的设计需要获取的数据就是 GPRS流量的使用情况。对待测软件流量的获取,既要了解上传流量与下载流量,又要知道智能手机自身所有上传与下载的总流量。通过对比这两组流量的使用情况,不但可以判断待测软件是否出现恶意上传的问题,还能分析手机自身是否存在没有提醒用户而产生流量的通信[3]。通常情况下,通过读取/proc/net/dev系统文件就可以获得当前的全部流量信息。而待测流量信息的获取,如果智能手机是在 Android2.2版本之后的,就可以通过接口函数来实现。然而,Android平台的软件自动化监控工具的设计开发目的是为了满足市场上所有智能手机的Android版本,因此,还是通过采取读取系统文件的方法来对信息进行采集。在这种方式下,进程需要分两个文件,一个是上传流量的使用大小,另一个是下载流量的使用大小。

5)智能手机的电量使用情况

对于获取电量使用情况的信息,也需要通过读取系统文件来实现,通过采集/sys/class/powersupply/battary系统文件里的信息数据,可以获得当下智能手机电池剩余电量的百分比情况,此外,还能读到在智能手机充电状态下,当前电池的温度等相关信息。

2.3 自动化监控软件的实现及测试结果

把获取的全部所需数据信息,通过写成模块化的类来进行调用,如此一来,只需在用户界面相应地做一些设置,就可以使用自动化监控工具相关功能。基于Android平台的软件自动化监控工具设计所使用的是Android系统的一般工具界面。自动化监控工具一共有“首页”、“程序”、“设置”以及“关于”四个界面。其中,“首页”界面具有自动刷新基本信息的功能;“程序”界面可以显示当下所运行的全部程序列表;在“程序”界面可以对待监控的软件进行选择;最后,在“设置”界面进行一些相关设置即可开始对待测软件进行自动化监控[4]。

通过使用自动化监控工具来对某个智能手机 Android 软件进行监控,在对待测软件进行一段时间的运用之后,后台也同时记录下了这段时间内的相关数据,然后用相关工具查看这些数据,便可获得这款自动化监控软件在运行过程中的数据。结果表明,Android平台的软件自动化监控软件在运行过程中没有出现流量消耗的情况,虽然占用的内存空间有点大,但是所占用的CPU资源比较较少。

3 总结

综上所述,在基于Android系统的自动化监控软件的设计过程中,需要分析自动化监控软件的需求情况,此外,还分别对所需采集的五种信息及方法进行分析,这五种信息为:获取内存信息、CPU的使用情况、CPU的使用时间、智能手机流量的大小以及智能手机的电量使用情况。最终软件的实现及测试结果表明,Android平台的自动化监控工具运行过程中没有出现流量消耗的情况,虽然占用的内存空间有点大,但是所占用的CPU资源比较较少,在监控分析 Android 软件工作中可以起到很大的作用。

参考文献:

[1] 杨怡君, 黄大庆. Android手机自动化性能测试工具的研究与开发[J]. 计算机应用, 2013, 9(11): 57-59.

[2] 惠晓威, 王克. 移动视频监控系统的实现[J]. 计算机应用与软件, 2014, 7(1): 106-107.

[3] 林瑞杰, 曾晨曦, 傅蓉蓉. Android操作系统兼容性测试系统设计与开发[J]. 现代电信科技, 2014, 4(6): 96-97.

[4] 木春梅, 韩守梅. 一种基于不等式的快速码字搜索算法[J]. 电子学报, 2013, 11(9): 218-220.

猜你喜欢
Android平台
基于Android平台的儿童跟踪系统
基于Android平台的老人跌倒检测算法及APP设计
基于Android平台软件开发技术研究
基于Android平台的人脸识别系统设计与实现
基于Android平台的健康医疗APP设计与开发
Android手机主题设计 
基于Android的Python语言英汉维电子词典设计与实现
Android平台下的空气质量和天气情况查询应用设计与实现
基于Android的移动GIS系统的应用与实现
基于移动互联网的糖尿病医疗辅助系统设计与实现