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

文档序号:9396789阅读:来源:国知局
换为动态曲线的坐标点,具体地,以读取数据栈内内存数据的次序(或者时刻)形成横轴坐标、以内存数据与总内存值的百分比形成纵坐标;然后,把每个横轴坐标数据和纵坐标数据通过Core GraphicsFramework并使用Quartz作为绘图引擎将横坐标数据和纵坐标数据进行连线;最后,重复上述获取任务信息并得到内存数据及其后续步骤以进行更新,从而形成内存的使用状态的动态曲线。
[0056]请参阅图3所示,为安装有Android操作系统的终端的CPU的状态检测方法的流程示意图,所述状态检测方法包括以下步骤:
[0057]步骤S31:通过shell指令以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中运行时状态信息包括每一应用程序对应的处理器数据。
[0058]步骤S32:根据终端中已开启的应用程序的pid对运行时状态信息进行过滤,从而得到已开启的应用程序在运行时所占用的处理器数据,并依次压入具有预定长度的数据栈。
[0059]步骤S33:在数据栈压满后,以先入先出的方式从数据栈中读取η组处理器数据,其中η为所述预定长度且为正整数。
[0060]步骤S34:以η组处理器数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为I至η,以处理器数据与处理器可供使用的最大频率的百分比为纵坐标数据,将η组横坐标数据和纵坐标数据实时绘制于悬浮窗口中并连接。
[0061]步骤S35:重复上述步骤S31及其后续步骤以进行更新,从而在悬浮窗口中形成表示终端的处理器的使用状态的动态曲线。
[0062]在应用程序启动后,终端以预定时间间隔执行shell指令获取全部应用程序的运行时状态信息,从运行时状态信息中根据应用程序的package Name和pid进行过滤,把当前应用程序的CPU数据筛选出来。
[0063]终端中的应用程序启动后,会在应用程序的显示界面上通过UIView创建并显示一悬浮窗口,本发明实施例在该悬浮窗口内绘制处理器数据的动态曲线以直观的显示给用户。在绘制时,首先从数据栈内读取得实时处理器数据,并将处理器数据转换为动态曲线的坐标点,具体地,以读取数据栈内处理器数据的次序(或者时刻)形成横轴坐标、以处理器数据与处理器可供使用的最大频率的百分比形成纵坐标,其中纵坐标数据的最大值为1,即cpu占用为100%的情况下动态曲线在悬浮窗口的顶部以一条横线标识不会超过悬浮窗口的高度;然后,把每个横轴坐标数据和纵坐标数据通过path将横坐标数据和纵坐标数据进行连线;最后,重复上述获取运行时状态信息并得到处理器数据及其后续步骤以进行更新,从而形成CPU的使用状态的动态曲线。进一步地,通过pathFill函数进行前述填充色的填充,并最终把动态曲线及填充色绘制于canvas上,继而通过onDraw方法显示于悬浮窗口中。
[0064]请参阅图4所示,为安装有Android操作系统的终端的内存的状态检测方法的流程示意图,所述状态检测方法包括以下步骤:
[0065]步骤S41:通过Runtime函数以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中运行时状态信息包括已开启的应用程序所分配的总内存和空闲内存。
[0066]步骤S42:将总内存减去空闲内存,从而得到所占用的内存数据,并依次压入具有预定长度的数据栈。
[0067]步骤S43:在数据栈压满后,以先入先出的方式从数据栈中读取η组内存数据,其中η为所述预定长度且为正整数。
[0068]步骤S44:以η组内存数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为I至η,以内存数据与总内存值的百分比为纵坐标数据,将η组横坐标数据和纵坐标数据实时绘制于悬浮窗口中并连接。
[0069]步骤S45:重复上述步骤S41及其后续步骤以进行更新,从而在悬浮窗口中形成表示终端的内存的使用状态的动态曲线。
[0070]在应用程序启动后,终端以预定时间间隔通过Runtime函数获取全部应用程序的运行时状态信息,从运行时状态信息中获取已开启的应用程序所分配的总内存和空闲内存,将总内存减去空闲内存,从而得到所占用的内存数据,并依次压入数据栈。
[0071]终端中的应用程序启动后,会在应用程序的显示界面上通过UIView创建并显示一悬浮窗口,本发明实施例在该悬浮窗口内绘制内存数据的动态曲线以直观的显示给用户。在绘制时,首先从数据栈内读取得实时内存,并将内存转换为动态曲线的坐标点,具体地,以读取数据栈内内存的次序(或者时刻)形成横轴坐标、以内存数据与总内存值的百分比形成纵坐标;然后,把每个横轴坐标数据和纵坐标数据通过path将横坐标数据和纵坐标数据进行连线;最后,重复上述获取运行时状态信息并得到内存数据及其后续步骤以进行更新,从而形成所述动态曲线。进一步,通过pathFill函数进行前述填充色的填充,并最终把动态曲线及填充色绘制于canvas上,继而通过onDraw方法显示于悬浮窗口中。
[0072]图5是本发明的终端一实施例的结构示意图。如图5所示,所述终端50除内存51和处理器52之外还包括:
[0073]采集模块53,用于以预定时间间隔采集终端50中已开启的应用程序在运行时所占用的内存数据或处理器数据;
[0074]存储模块54,用于将采集模块53采集的内存数据或处理器数据依次压入具有预定长度的数据栈;
[0075]读取模块55,用于在数据栈压满后,以先入先出的方式从数据栈中读取η组内存数据或处理器数据,其中η为预定长度且为正整数;
[0076]处理模块56,用于以η组内存数据或处理器数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为I至η,以内存数据与总内存值的百分比、或处理器数据与处理器可供使用的最大频率的百分比为纵坐标数据,将η组横坐标数据和纵坐标数据实时绘制于终端50的屏幕57显示的悬浮窗口中并连接;
[0077]所述处理模块56还用于重复上述步骤以进行更新,从而在悬浮窗口中形成表示内存51或处理器52的使用状态的动态曲线。
[0078]以上描述的终端50的各个模块结构,对应执行上述实施例所述的带宽调整方法,此处不再赘述,故具有与其相同的技术效果。
[0079]应该理解到,上述终端50的实施方式仅是示意性的,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如两个模块可以集成到另一个系统中。模块相互之间的连接可以是接口、电性或其它形式。上述模块作为终端50的组成部分,可以是也可以不是物理框,既可位于一个地方,也可分布到多个网络单元上,既可采用软件功能框的形式实现,也可采用硬件的形式实现。
[0080]另外,本发明实施例的上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中,即,本发明实施例
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1