一种终端及其cpu或内存的状态检测方法

文档序号:9396789阅读:258来源:国知局
一种终端及其cpu或内存的状态检测方法
【技术领域】
[0001]本发明涉及IT技术领域,具体而言涉及一种终端的CPU(Central ProcessingUnit,中央处理器)或内存的状态检测方法。
【背景技术】
[0002]如果终端的某一应用程序的执行效率低或者业务量过大,会导致该应用程序在运行时的CPU或内存占用率过高,也称为CPU或内存过载,那么此时就需要对该应用程序进行优化。当前,监控CPU或内存的使用状态必须依赖于专业的监控软件来实现,例如安装有1S操作系统的终端必须需要Xcode监控软件才能对CPU或内存进行监控。但是,当监控软件由于各种原因与终端断开连接后,用户就无法实时且直观的了解到已开启的应用程序在运行时所占用的CPU或内存,这显然不利于在发生CPU或内存过载的情况下及时的进行反馈与解决。

【发明内容】

[0003]鉴于此,本发明实施例提供一种终端及其CPU或内存的状态检测方法,以悬浮窗口的形式将所占用的CPU或内存即时且直观的显示。
[0004]本发明实施例终端的状态检测方法包括:
[0005]以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据,并依次压入具有预定长度的数据栈;在数据栈压满后,以先入先出的方式从数据栈中读取η组内存数据或处理器数据,其中η为所述预定长度;以η组内存数据或处理器数据在数据栈的读出次序为横坐标数据,其中所述横坐标数据范围为I至η,以内存数据与总内存值的百分比、或处理器数据与处理器可供使用的最大频率的百分比为纵坐标数据,将η组横坐标数据和纵坐标数据实时绘制于悬浮窗口中并连接,并重复上述步骤以进行更新,从而在悬浮窗口中形成表示终端的内存或处理器的使用状态的动态曲线。
[0006]可选地,所述以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:以预定时间间隔检测终端的1S操作系统中的所有任务线程;遍历任务线程的线程信息,其中线程信息包括任务线程所占用的处理器数据;将每一任务线程对应的处理器数据相加从而获取所述处理器数据。
[0007]可选地,所述以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:以预定时间间隔检测终端的1S操作系统中的任务信息,其中任务信息包括终端中已开启的应用程序在运行时所占用的内存数据;从任务信息获取内存数据以作为终端中已开启的应用程序在运行时所占用的内存数据。
[0008]可选地,所述以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:通过shell指令以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中运行时状态信息包括每一应用程序对应的处理器数据;根据终端中已开启的应用程序的Pid对运行时状态信息进行过滤,从而得到终端中已开启的应用程序在运行时所占用的处理器数据。
[0009]可选地,所述以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:通过Runtime函数以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中运行时状态信息包括已开启的应用程序所分配的总内存和空闲内存;将总内存减去空闲内存,从而得到所述所占用的内存数据。
[0010]可选地,所述终端的状态检测方法还包括:在动态曲线和横坐标数据所形成的横坐标之间的区域具有填充色。
[0011]可选地,悬浮窗口默认置顶显示于终端的屏幕上且可被拖动。
[0012]本发明实施例的终端除内存和处理器之外还包括:
[0013]采集模块,用于以预定时间间隔采集所述终端中已开启的应用程序在运行时所占用的内存数据或处理器数据;
[0014]存储模块,用于将采集模块采集的内存数据或处理器数据依次压入具有预定长度的数据栈;
[0015]读取模块,用于在数据栈压满后,以先入先出的方式从数据栈中读取η组内存数据或处理器数据,其中η为预定长度;
[0016]处理模块,用于以η组内存数据或处理器数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为I至η,以内存数据与总内存值的百分比、或处理器数据与处理器可供使用的最大频率的百分比为纵坐标数据,将η组横坐标数据和纵坐标数据实时绘制于终端的屏幕显示的悬浮窗口中并连接;
[0017]所述处理模块还用于重复上述步骤以进行更新,从而在悬浮窗口中形成表示终端的内存或处理器的使用状态的动态曲线。
[0018]可选地,所述采集模块以预定时间间隔检测终端的1S操作系统中的所有任务线程,并遍历任务线程的线程信息,其中线程信息包括任务线程所占用的处理器数据,进一步将每一任务线程对应的处理器数据相加从而获取终端中已开启的应用程序在运行时所占用的处理器数据;
[0019]或者,所述采集模块以预定时间间隔检测终端的1S操作系统中的任务信息,其中所述任务信息包括终端中已开启的应用程序在运行时所占用的内存数据,并从任务信息获取内存数据以作为终端中已开启的应用程序在运行时所占用的内存数据;
[0020]又或者,所述采集模块通过shell指令以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中所述运行时状态信息包括每一应用程序对应的处理器数据,并根据终端中已开启的应用程序的Pid对运行时状态信息进行过滤,从而得到终端中已开启的应用程序在运行时所占用的处理器数据;
[0021]又或者,所述采集模块用于通过Runtime函数以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中运行时状态信息包括已开启的应用程序所分配的总内存和空闲内存,并将总内存减去空闲内存,从而得到终端中已开启的应用程序在运行时所占用的内存数据。
[0022]可选地,屏幕在处理模块的控制下在动态曲线和横坐标数据所形成的横坐标之间的区域显示有填充色,并且悬浮窗口默认置顶显示于屏幕上,且悬浮窗口可被拖动。
[0023]基于上述技术方案,本发明实施例的终端及其CPU或内存的状态检测方法,通过以悬浮窗口的形式将已开启的应用程序所占用的CPU或内存的动态曲线直观显示于终端的屏幕上,便于实时监控。
【附图说明】
[0024]图1是本发明的安装有1S操作系统的终端的CPU的状态检测方法一实施例的流程不意图;
[0025]图2是本发明的安装有1S操作系统的终端的内存的状态检测方法一实施例的流程不意图;
[0026]图3是本发明的安装有Android操作系统的终端的CPU的状态检测方法一实施例的流程示意图;
[0027]图4是本发明的安装有Android操作系统的终端的内存的状态检测方法一实施例的流程示意图;
[0028]图5是本发明的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1