2.一个任务:在第一章节里面描述了安卓应用的分层,而一个任务即类似一个上层应用,通俗的说就是在安卓桌面的应用的图标。点击它,就可以唤醒你的任务,并把他提高到最优先级。
3.一个进程:大多数情况下,所有的包内代码都会被安排在同一个进程中运行,并且一般需要特定的标签来改变位置。
构建Android系统编程运行环境的部分将在后面详细列出。此处重点分析Android手机助手获取运行信息模块的实现方法以及最终采用的方法。由于本软件是一个简单明了的Android应用程序,主要实现对Android系统手机的运行信息获取上,使其拥有获取service,task和thread信息的功能。对于运行信息的获取上,Android已内置了一些函数让我们可以直接调用。他们分别是getsystemservice函数,getrunningtasks函数和fetch_process函数。他们的作用在下面会分别描述:
1.获取service信息:
安卓系统的后台可以同时运行很多服务,当你打开手机时,它们就会被一个叫serviceserver的程序打开,用来支持安卓手机系统的正常运行。比如windowservice是管理打开的窗口程序,powerservice是用来提供电源服务,wifiservice用来提供WiFi无线服务的,而本论文编写的应用程序正好可以通过安卓系统内置的manager接口来访问这些服务。通过调用getSystemService函数来获取 ActivityManager之后通过系统提供的函数getRunningServices来获取正在运行的服务列表(RunningServiceInfo),通过对获取的不同结果进行分析,最后呈现在屏幕上。调用activityManager.getRunningServices(100)获取正在运行的服务信息,并依次得到每个服务对应的pid、process、service、crashcount、clientcount、activesince、lastactivityTime等服务信息.
2.获取正在运行的Task信息:
调用的是getRunningTasks函数来获取对应的正在运行的任务信息列表(RunningTaskInfo),进而分析、显示任务信息。调用系统提供的getRunningTasks(100)方法获取任务列表,依次获取对应的id、baseactivity、numactivities、numrunning、description等信息,在通过布局文件呈现在屏幕上。
3.获取thread信息:
在安卓中,软件应用程序的具体体现是通过进程来实现的,而不是我们一般人所熟知的。用途很简单:
1.进程以为运行机制的原因,可以给程序很高的安全性和稳定性,从而可以把一些通过别的机制判断的不符合规定的代码移到别的进程去。
2.可以把多个包代码放入同一个进程中从而减少系统内存占有率。
3.智能的管理智能手机的系统内存,当有一个代码非常重要时,它会单独的给它一个进程,从而把其他不重要的代码杀掉,留出多余的资源
所以,根据智能手机的具体情况,一个进程里可以放一个或者多个代码
通过CMD Execute的方式来运行系统命令。通过这个功能可以非常详细地了解到正在运行的进程和各个进程所消耗的资源情况。
2.2 确定方案
经过分析与比较,本文采用上述三段关键源代码实现了基于安卓的手机信息查询助手的获取运行信息模块仿真功能实现。通过layout布局文件显示三个button分别为“显示服务信息”、“显示任务信息”、“显示进程信息”。通过编好的源代码调用手机的服务信息、任务信息、进程信息。这些可以通过调用系统内置函数实现。同时,在程序主页面上,通过menu内置的返回按钮来退出程序。
从上述的大概描述可以看出本软件的主体功能需求:
1. 设置间接地包含三大板块button的主体界面。
2. 通过源代码调用系统内置函数与三个button相连。 基于Android的手机信息查询助手获取运行信息设计模块(4):http://www.youerw.com/jisuanji/lunwen_18895.html