CN105117323A - 一种终端及其cpu或内存的状态检测方法 - Google Patents
一种终端及其cpu或内存的状态检测方法 Download PDFInfo
- Publication number
- CN105117323A CN105117323A CN201510666157.2A CN201510666157A CN105117323A CN 105117323 A CN105117323 A CN 105117323A CN 201510666157 A CN201510666157 A CN 201510666157A CN 105117323 A CN105117323 A CN 105117323A
- Authority
- CN
- China
- Prior art keywords
- data
- terminal
- processor
- internal storage
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种终端的CPU或内存的状态检测方法,通过数据栈依次压入周期性采集的内存数据或处理器数据,在压满后以先入先出的方式读出,并以读出次序为横坐标数据、以内存数据与总内存值的百分比或处理器数据与CPU可供使用的最大频率的百分比为纵坐标数据,在悬浮窗口中形成表示内存或CPU的使用状态的动态曲线。本发明还提供一种使用该方法的终端。本发明能够直观的将应用程序在运行时所占用的CPU或内存显示于终端的屏幕上,便于实时监控。
Description
技术领域
本发明涉及IT技术领域,具体而言涉及一种终端的CPU(CentralProcessingUnit,中央处理器)或内存的状态检测方法。
背景技术
如果终端的某一应用程序的执行效率低或者业务量过大,会导致该应用程序在运行时的CPU或内存占用率过高,也称为CPU或内存过载,那么此时就需要对该应用程序进行优化。当前,监控CPU或内存的使用状态必须依赖于专业的监控软件来实现,例如安装有IOS操作系统的终端必须需要Xcode监控软件才能对CPU或内存进行监控。但是,当监控软件由于各种原因与终端断开连接后,用户就无法实时且直观的了解到已开启的应用程序在运行时所占用的CPU或内存,这显然不利于在发生CPU或内存过载的情况下及时的进行反馈与解决。
发明内容
鉴于此,本发明实施例提供一种终端及其CPU或内存的状态检测方法,以悬浮窗口的形式将所占用的CPU或内存即时且直观的显示。
本发明实施例终端的状态检测方法包括:
以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据,并依次压入具有预定长度的数据栈;在数据栈压满后,以先入先出的方式从数据栈中读取n组内存数据或处理器数据,其中n为所述预定长度;以n组内存数据或处理器数据在数据栈的读出次序为横坐标数据,其中所述横坐标数据范围为1至n,以内存数据与总内存值的百分比、或处理器数据与处理器可供使用的最大频率的百分比为纵坐标数据,将n组横坐标数据和纵坐标数据实时绘制于悬浮窗口中并连接,并重复上述步骤以进行更新,从而在悬浮窗口中形成表示终端的内存或处理器的使用状态的动态曲线。
可选地,所述以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:以预定时间间隔检测终端的IOS操作系统中的所有任务线程;遍历任务线程的线程信息,其中线程信息包括任务线程所占用的处理器数据;将每一任务线程对应的处理器数据相加从而获取所述处理器数据。
可选地,所述以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:以预定时间间隔检测终端的IOS操作系统中的任务信息,其中任务信息包括终端中已开启的应用程序在运行时所占用的内存数据;从任务信息获取内存数据以作为终端中已开启的应用程序在运行时所占用的内存数据。
可选地,所述以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:通过shell指令以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中运行时状态信息包括每一应用程序对应的处理器数据;根据终端中已开启的应用程序的pid对运行时状态信息进行过滤,从而得到终端中已开启的应用程序在运行时所占用的处理器数据。
可选地,所述以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:通过Runtime函数以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中运行时状态信息包括已开启的应用程序所分配的总内存和空闲内存;将总内存减去空闲内存,从而得到所述所占用的内存数据。
可选地,所述终端的状态检测方法还包括:在动态曲线和横坐标数据所形成的横坐标之间的区域具有填充色。
可选地,悬浮窗口默认置顶显示于终端的屏幕上且可被拖动。
本发明实施例的终端除内存和处理器之外还包括:
采集模块,用于以预定时间间隔采集所述终端中已开启的应用程序在运行时所占用的内存数据或处理器数据;
存储模块,用于将采集模块采集的内存数据或处理器数据依次压入具有预定长度的数据栈;
读取模块,用于在数据栈压满后,以先入先出的方式从数据栈中读取n组内存数据或处理器数据,其中n为预定长度;
处理模块,用于以n组内存数据或处理器数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为1至n,以内存数据与总内存值的百分比、或处理器数据与处理器可供使用的最大频率的百分比为纵坐标数据,将n组横坐标数据和纵坐标数据实时绘制于终端的屏幕显示的悬浮窗口中并连接;
所述处理模块还用于重复上述步骤以进行更新,从而在悬浮窗口中形成表示终端的内存或处理器的使用状态的动态曲线。
可选地,所述采集模块以预定时间间隔检测终端的IOS操作系统中的所有任务线程,并遍历任务线程的线程信息,其中线程信息包括任务线程所占用的处理器数据,进一步将每一任务线程对应的处理器数据相加从而获取终端中已开启的应用程序在运行时所占用的处理器数据;
或者,所述采集模块以预定时间间隔检测终端的IOS操作系统中的任务信息,其中所述任务信息包括终端中已开启的应用程序在运行时所占用的内存数据,并从任务信息获取内存数据以作为终端中已开启的应用程序在运行时所占用的内存数据;
又或者,所述采集模块通过shell指令以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中所述运行时状态信息包括每一应用程序对应的处理器数据,并根据终端中已开启的应用程序的pid对运行时状态信息进行过滤,从而得到终端中已开启的应用程序在运行时所占用的处理器数据;
又或者,所述采集模块用于通过Runtime函数以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中运行时状态信息包括已开启的应用程序所分配的总内存和空闲内存,并将总内存减去空闲内存,从而得到终端中已开启的应用程序在运行时所占用的内存数据。
可选地,屏幕在处理模块的控制下在动态曲线和横坐标数据所形成的横坐标之间的区域显示有填充色,并且悬浮窗口默认置顶显示于屏幕上,且悬浮窗口可被拖动。
基于上述技术方案,本发明实施例的终端及其CPU或内存的状态检测方法,通过以悬浮窗口的形式将已开启的应用程序所占用的CPU或内存的动态曲线直观显示于终端的屏幕上,便于实时监控。
附图说明
图1是本发明的安装有IOS操作系统的终端的CPU的状态检测方法一实施例的流程示意图;
图2是本发明的安装有IOS操作系统的终端的内存的状态检测方法一实施例的流程示意图;
图3是本发明的安装有Android操作系统的终端的CPU的状态检测方法一实施例的流程示意图;
图4是本发明的安装有Android操作系统的终端的内存的状态检测方法一实施例的流程示意图;
图5是本发明的终端一实施例的结构示意图。
具体实施方式
本发明实施例提供一种终端的CPU或内存的状态检测方法,无需借助Xcode等各种专业的监控软件即可将已开启的应用程序在运行时所占用的CPU或内存直观的显示于终端的屏幕上,便于实时监控,有利于在发生CPU或内存过载的情况下及时的进行反馈与解决。
为实现该有益效果,本发明实施例根据采集到的内存数据或处理器数据(即内存或CPU占用率)形成表示内存或处理器的使用状态的曲线,并在后续周期性的采集前述数据进行更新以形成动态曲线,进一步将动态曲线显示于悬浮窗口中。具体步骤为:
以预定时间间隔采集终端中已开启的应用程序在运行时所占用的内存数据或处理器数据,并依次压入具有预定长度的数据栈;
在数据栈压满后,以先入先出的方式从数据栈中读取n组内存数据或处理器数据,其中n为所述预定长度;
以n组内存数据或处理器数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为1至n,以内存数据与总内存值的百分比、或处理器数据与处理器可供使用的最大频率的百分比为纵坐标数据,将n组横坐标数据和纵坐标数据实时绘制于悬浮窗口中并连接;以及
重复上述步骤及其后续步骤以进行更新,从而在悬浮窗口中形成表示终端的内存或处理器的使用状态的动态曲线。
为了更加直观的将CPU或内存的使用状态呈现给用户,本发明实施例可在动态曲线和横坐标之间的区域具有填充色,例如为绿色,并且当处理器数据或内存数据大于或等于对应的预设阈值且持续对应的预定时间时,该处理器数据或内存数据和对应的横坐标之间的区域的填充色变为红色。可选地,悬浮窗口默认置顶显示于终端的屏幕上且可被拖动,以避免影响用户观看及操作终端的屏幕。
所述终端在以下全文中以手机为例,当然并不局限于手机,也可以是具有存储与处理功能的任何终端,包括笔记本电脑、便携式通信装置、PDA(PersonalDigitalAssistant,个人数字助理或平板电脑)等,还可以是智能手表以及嵌入于衣物、配饰中的可穿戴设备。
其中,采集内存数据或处理器数据作为本发明实施例的核心步骤,可通过预定操作实现,例如,通过预置相当于同时按下“Ctrl键+Alt键+A键”以及再单击“性能”菜单选项的指令,调出任务管理器的界面,即可查看已开启的应用程序在运行时所占用的内存数据或处理器数据。当然,本发明实施例仅为了说明无需借助专业的监控软件也可以采集内存数据或处理器数据,具体方式并不局限于此。
下面以安装有IOS操作系统和Android操作系统的终端为例,结合附图对本发明实施例的技术方案进行清楚、完整地描述。
请参阅图1所示,为安装有IOS操作系统的终端的CPU的状态检测方法的流程示意图,所述状态检测方法包括以下步骤:
步骤S11:以预定时间间隔检测IOS操作系统中的所有任务线程。
步骤S12:遍历任务线程的线程信息,其中所述线程信息包括任务线程所占用的处理器数据。
步骤S13:将每一任务线程对应的处理器数据相加从而获取终端中已开启的应用程序在运行时所占用的处理器数据,并依次压入具有预定长度的数据栈。
步骤S14:在数据栈压满后,以先入先出的方式从数据栈中读取n组处理器数据,其中n为所述预定长度且为正整数。
步骤S15:以n组处理器数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为1至n,以处理器数据与处理器可供使用的最大频率的百分比为纵坐标数据,将n组横坐标数据和纵坐标数据实时绘制于悬浮窗口中并连接。
步骤S16:重复上述步骤S11及其后续步骤以进行更新,从而在悬浮窗口中形成表示终端的处理器的使用状态的动态曲线。
终端中的应用程序启动后,终端以预定时间间隔取得IOS操作系统当前的所有任务线程(即task_threads曲线),而后遍历task_threads曲线中的所有线程信息(thread_basic_info_t),取得该线程信息中任务线程所占用的处理器数据,并把所有处理器数据累加后压入数据栈。
终端中的应用程序启动后,会在应用程序的显示界面上通过UIView创建并显示一悬浮窗口,本发明实施例在该悬浮窗口内绘制处理器数据的动态曲线以直观的显示给用户。在绘制时,首先从数据栈内读取得实时处理器数据,并将处理器数据转换为动态曲线的坐标点,具体地,以读取数据栈内处理器数据的次序(或者时刻)形成横轴坐标、以处理器数据与处理器可供使用的最大频率的百分比形成纵坐标,其中纵坐标数据的最大值为1,即cpu占用为100%的情况下动态曲线在悬浮窗口的顶部以一条横线标识不会超过悬浮窗口的高度;然后,把每个横轴坐标数据和纵坐标数据通过CoreGraphicsFramework(核心涂层框架)并使用Quartz(开源作业调度框架)作为绘图引擎将横坐标数据和纵坐标数据进行连线;最后,重复上述获取任务线程并得到处理器数据及其后续步骤以进行更新,从而形成CPU的使用状态的动态曲线。
请参阅图2所示,为安装有IOS操作系统的终端的内存的状态检测方法的流程示意图,所述状态检测方法包括以下步骤:
步骤S21:以预定时间间隔检测IOS操作系统中的任务信息,其中任务信息包括终端中已开启的应用程序在运行时所占用的内存数据。
步骤S22:从任务信息获取内存数据以作为终端中已开启的应用程序在运行时所占用的内存数据,并依次压入具有预定长度的数据栈。
步骤S23:在数据栈压满后,以先入先出的方式从数据栈中读取n组内存数据,其中n为所述预定长度且为正整数。
步骤S24:以n组内存数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为1至n,以内存数据与总内存值的百分比为纵坐标数据,将n组横坐标数据和纵坐标数据实时绘制于悬浮窗口中并连接。
步骤S25:重复上述步骤S21及其后续步骤以进行更新,从而在悬浮窗口中形成表示终端的内存的使用状态的动态曲线。
终端中的应用程序启动后,终端以预定时间间隔取得IOS操作系统当前的所有任务信息(即task_info),并将task_info与IOS操作系统内核运行的tas进行比较,如果相同则表示获取成功,而后将从task_info取得的内存数据压入数据栈。
终端中的应用程序启动后,会在应用程序的显示界面上通过UIView创建并显示一悬浮窗口,本发明实施例在该悬浮窗口内绘制处内存数据的动态曲线以直观的显示给用户。在绘制时,首先从数据栈内读取得实时内存数据,并将内存数据转换为动态曲线的坐标点,具体地,以读取数据栈内内存数据的次序(或者时刻)形成横轴坐标、以内存数据与总内存值的百分比形成纵坐标;然后,把每个横轴坐标数据和纵坐标数据通过CoreGraphicsFramework并使用Quartz作为绘图引擎将横坐标数据和纵坐标数据进行连线;最后,重复上述获取任务信息并得到内存数据及其后续步骤以进行更新,从而形成内存的使用状态的动态曲线。
请参阅图3所示,为安装有Android操作系统的终端的CPU的状态检测方法的流程示意图,所述状态检测方法包括以下步骤:
步骤S31:通过shell指令以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中运行时状态信息包括每一应用程序对应的处理器数据。
步骤S32:根据终端中已开启的应用程序的pid对运行时状态信息进行过滤,从而得到已开启的应用程序在运行时所占用的处理器数据,并依次压入具有预定长度的数据栈。
步骤S33:在数据栈压满后,以先入先出的方式从数据栈中读取n组处理器数据,其中n为所述预定长度且为正整数。
步骤S34:以n组处理器数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为1至n,以处理器数据与处理器可供使用的最大频率的百分比为纵坐标数据,将n组横坐标数据和纵坐标数据实时绘制于悬浮窗口中并连接。
步骤S35:重复上述步骤S31及其后续步骤以进行更新,从而在悬浮窗口中形成表示终端的处理器的使用状态的动态曲线。
在应用程序启动后,终端以预定时间间隔执行shell指令获取全部应用程序的运行时状态信息,从运行时状态信息中根据应用程序的packageName和pid进行过滤,把当前应用程序的CPU数据筛选出来。
终端中的应用程序启动后,会在应用程序的显示界面上通过UIView创建并显示一悬浮窗口,本发明实施例在该悬浮窗口内绘制处理器数据的动态曲线以直观的显示给用户。在绘制时,首先从数据栈内读取得实时处理器数据,并将处理器数据转换为动态曲线的坐标点,具体地,以读取数据栈内处理器数据的次序(或者时刻)形成横轴坐标、以处理器数据与处理器可供使用的最大频率的百分比形成纵坐标,其中纵坐标数据的最大值为1,即cpu占用为100%的情况下动态曲线在悬浮窗口的顶部以一条横线标识不会超过悬浮窗口的高度;然后,把每个横轴坐标数据和纵坐标数据通过path将横坐标数据和纵坐标数据进行连线;最后,重复上述获取运行时状态信息并得到处理器数据及其后续步骤以进行更新,从而形成CPU的使用状态的动态曲线。进一步地,通过pathFill函数进行前述填充色的填充,并最终把动态曲线及填充色绘制于canvas上,继而通过onDraw方法显示于悬浮窗口中。
请参阅图4所示,为安装有Android操作系统的终端的内存的状态检测方法的流程示意图,所述状态检测方法包括以下步骤:
步骤S41:通过Runtime函数以预定时间间隔检测终端的Android操作系统中的运行时状态信息,其中运行时状态信息包括已开启的应用程序所分配的总内存和空闲内存。
步骤S42:将总内存减去空闲内存,从而得到所占用的内存数据,并依次压入具有预定长度的数据栈。
步骤S43:在数据栈压满后,以先入先出的方式从数据栈中读取n组内存数据,其中n为所述预定长度且为正整数。
步骤S44:以n组内存数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为1至n,以内存数据与总内存值的百分比为纵坐标数据,将n组横坐标数据和纵坐标数据实时绘制于悬浮窗口中并连接。
步骤S45:重复上述步骤S41及其后续步骤以进行更新,从而在悬浮窗口中形成表示终端的内存的使用状态的动态曲线。
在应用程序启动后,终端以预定时间间隔通过Runtime函数获取全部应用程序的运行时状态信息,从运行时状态信息中获取已开启的应用程序所分配的总内存和空闲内存,将总内存减去空闲内存,从而得到所占用的内存数据,并依次压入数据栈。
终端中的应用程序启动后,会在应用程序的显示界面上通过UIView创建并显示一悬浮窗口,本发明实施例在该悬浮窗口内绘制内存数据的动态曲线以直观的显示给用户。在绘制时,首先从数据栈内读取得实时内存,并将内存转换为动态曲线的坐标点,具体地,以读取数据栈内内存的次序(或者时刻)形成横轴坐标、以内存数据与总内存值的百分比形成纵坐标;然后,把每个横轴坐标数据和纵坐标数据通过path将横坐标数据和纵坐标数据进行连线;最后,重复上述获取运行时状态信息并得到内存数据及其后续步骤以进行更新,从而形成所述动态曲线。进一步,通过pathFill函数进行前述填充色的填充,并最终把动态曲线及填充色绘制于canvas上,继而通过onDraw方法显示于悬浮窗口中。
图5是本发明的终端一实施例的结构示意图。如图5所示,所述终端50除内存51和处理器52之外还包括:
采集模块53,用于以预定时间间隔采集终端50中已开启的应用程序在运行时所占用的内存数据或处理器数据;
存储模块54,用于将采集模块53采集的内存数据或处理器数据依次压入具有预定长度的数据栈;
读取模块55,用于在数据栈压满后,以先入先出的方式从数据栈中读取n组内存数据或处理器数据,其中n为预定长度且为正整数;
处理模块56,用于以n组内存数据或处理器数据在数据栈的读出次序为横坐标数据,其中横坐标数据范围为1至n,以内存数据与总内存值的百分比、或处理器数据与处理器可供使用的最大频率的百分比为纵坐标数据,将n组横坐标数据和纵坐标数据实时绘制于终端50的屏幕57显示的悬浮窗口中并连接;
所述处理模块56还用于重复上述步骤以进行更新,从而在悬浮窗口中形成表示内存51或处理器52的使用状态的动态曲线。
以上描述的终端50的各个模块结构,对应执行上述实施例所述的带宽调整方法,此处不再赘述,故具有与其相同的技术效果。
应该理解到,上述终端50的实施方式仅是示意性的,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如两个模块可以集成到另一个系统中。模块相互之间的连接可以是接口、电性或其它形式。上述模块作为终端50的组成部分,可以是也可以不是物理框,既可位于一个地方,也可分布到多个网络单元上,既可采用软件功能框的形式实现,也可采用硬件的形式实现。
另外,本发明实施例的上述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中,即,本发明实施例可以以软件产品的形式体现出来,其包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在此基础上,以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,例如各实施例之间技术特征的相互结合,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种终端的状态检测方法,其特征在于,所述方法用于检测所述终端的内存或处理器的使用状态,所述方法包括:
以预定时间间隔采集所述终端中已开启的应用程序在运行时所占用的内存数据或处理器数据,并依次压入具有预定长度的数据栈;
在所述数据栈压满后,以先入先出的方式从所述数据栈中读取n组内存数据或处理器数据,其中n为所述预定长度;
以所述n组内存数据或处理器数据在所述数据栈的读出次序为横坐标数据,其中所述横坐标数据范围为1至n,以所述内存数据与总内存值的百分比、或所述处理器数据与所述处理器可供使用的最大频率的百分比为纵坐标数据,将n组所述横坐标数据和所述纵坐标数据实时绘制于悬浮窗口中并连接,并重复上述步骤以进行更新,从而在所述悬浮窗口中形成表示所述终端的内存或处理器的使用状态的动态曲线。
2.根据权利要求1所述的方法,其特征在于,
所述以预定时间间隔采集所述终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:
以预定时间间隔检测所述终端的IOS操作系统中的所有任务线程;
遍历所述任务线程的线程信息,其中所述线程信息包括所述任务线程所占用的处理器数据;
将每一所述任务线程对应的处理器数据相加从而获取所述终端中已开启的应用程序在运行时所占用的处理器数据。
3.根据权利要求1所述的方法,其特征在于,
所述以预定时间间隔采集所述终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:
以预定时间间隔检测所述终端的IOS操作系统中的任务信息,其中所述任务信息包括所述终端中已开启的应用程序在运行时所占用的内存数据;
从所述任务信息获取所述内存数据以作为所述终端中已开启的应用程序在运行时所占用的内存数据。
4.根据权利要求1所述的方法,其特征在于,
所述以预定时间间隔采集所述终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:
通过shell指令以预定时间间隔检测所述终端的Android操作系统中的运行时状态信息,其中所述运行时状态信息包括每一应用程序对应的处理器数据;
根据所述终端中已开启的应用程序的pid对所述运行时状态信息进行过滤,从而得到所述终端中已开启的应用程序在运行时所占用的处理器数据。
5.根据权利要求1所述的方法,其特征在于,
所述以预定时间间隔采集所述终端中已开启的应用程序在运行时所占用的内存数据或处理器数据的步骤包括:
通过Runtime函数以预定时间间隔检测所述终端的Android操作系统中的运行时状态信息,其中所述运行时状态信息包括已开启的应用程序所分配的总内存和空闲内存;
将所述总内存减去所述空闲内存,从而得到所述终端中已开启的应用程序在运行时所占用的内存数据。
6.根据权利要求1-5任意一项所述的方法,其特征在于,在所述动态曲线和所述横坐标数据所形成的横坐标之间的区域具有填充色。
7.根据权利要求6所述的方法,其特征在于,所述悬浮窗口默认置顶显示于所述终端的屏幕上,且所述悬浮窗口可被拖动。
8.一种具有内存和处理器的终端,其特征在于,还包括:
采集模块,用于以预定时间间隔采集所述终端中已开启的应用程序在运行时所占用的内存数据或处理器数据;
存储模块,用于将所述采集模块采集的所述内存数据或所述处理器数据依次压入具有预定长度的数据栈;
读取模块,用于在所述数据栈压满后,以先入先出的方式从所述数据栈中读取n组内存数据或处理器数据,其中n为所述预定长度;
处理模块,用于以所述n组内存数据或处理器数据在所述数据栈的读出次序为横坐标数据,其中所述横坐标数据范围为1至n,以所述内存数据与总内存值的百分比、或所述处理器数据与所述处理器可供使用的最大频率的百分比为纵坐标数据,将n组所述横坐标数据和所述纵坐标数据实时绘制于所述终端的屏幕显示的悬浮窗口中并连接;
所述处理模块还用于重复上述步骤以进行更新,从而在所述悬浮窗口中形成表示所述终端的内存或处理器的使用状态的动态曲线。
9.根据权利要求8所述的终端,其特征在于,
所述采集模块用于以所述预定时间间隔检测所述终端的IOS操作系统中的所有任务线程,并遍历所述任务线程的线程信息,其中所述线程信息包括所述任务线程所占用的处理器数据,进一步将每一所述任务线程对应的处理器数据相加从而获取所述终端中已开启的应用程序在运行时所占用的处理器数据;
或者,所述采集模块用于以所述预定时间间隔检测所述终端的IOS操作系统中的任务信息,其中所述任务信息包括所述终端中已开启的应用程序在运行时所占用的内存数据,并从所述任务信息获取所述内存数据以作为所述终端中已开启的应用程序在运行时所占用的内存数据;
又或者,所述采集模块用于通过shell指令以所述预定时间间隔检测所述终端的Android操作系统中的运行时状态信息,其中所述运行时状态信息包括每一应用程序对应的处理器数据,并根据所述终端中已开启的应用程序的pid对所述运行时状态信息进行过滤,从而得到所述终端中已开启的应用程序在运行时所占用的处理器数据;
又或者,所述采集模块用于通过Runtime函数以所述预定时间间隔检测所述终端的Android操作系统中的运行时状态信息,其中所述运行时状态信息包括已开启的应用程序所分配的总内存和空闲内存,并将所述总内存减去所述空闲内存,从而得到所述终端中已开启的应用程序在运行时所占用的内存数据。
10.根据权利要求9所述的终端,其特征在于,所述屏幕在所述处理模块的控制下在所述动态曲线和所述横坐标数据所形成的横坐标之间的区域显示有填充色,并且所述悬浮窗口默认置顶显示于所述屏幕上,且所述悬浮窗口可被拖动。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510666157.2A CN105117323B (zh) | 2015-10-14 | 2015-10-14 | 一种终端及其cpu或内存的状态检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510666157.2A CN105117323B (zh) | 2015-10-14 | 2015-10-14 | 一种终端及其cpu或内存的状态检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105117323A true CN105117323A (zh) | 2015-12-02 |
CN105117323B CN105117323B (zh) | 2018-09-25 |
Family
ID=54665321
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510666157.2A Active CN105117323B (zh) | 2015-10-14 | 2015-10-14 | 一种终端及其cpu或内存的状态检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105117323B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526668A (zh) * | 2017-08-01 | 2017-12-29 | 广东欧珀移动通信有限公司 | Cpu监控方法和装置、计算机设备、计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904850A (zh) * | 2006-08-04 | 2007-01-31 | 上海科泰世纪科技有限公司 | 对嵌入式操作系统的性能信息进行实时监测的方法 |
CN103164268A (zh) * | 2013-04-02 | 2013-06-19 | 北京奇虎科技有限公司 | 系统优化方法及装置 |
WO2014037756A1 (en) * | 2012-09-07 | 2014-03-13 | Asystel S.P.A. | Device for transforming a screen including a hdmi port into a multimedia or personal computer |
CN104331488A (zh) * | 2014-11-13 | 2015-02-04 | 北京奇虎科技有限公司 | 基于悬浮窗的文件清理方法、装置及设备 |
CN104503887A (zh) * | 2014-12-15 | 2015-04-08 | 北京奇虎科技有限公司 | 计算设备状态展示方法及装置 |
US9047134B2 (en) * | 2012-03-27 | 2015-06-02 | Infosys Limited | System and method for increasing the capabilities of a mobile device |
CN104750585A (zh) * | 2013-12-30 | 2015-07-01 | 腾讯科技(深圳)有限公司 | 终端检测的方法及装置 |
CN104834601A (zh) * | 2015-05-13 | 2015-08-12 | 上海斐讯数据通信技术有限公司 | 基于Android系统的智能终端内存泄露的自动化测试方法 |
-
2015
- 2015-10-14 CN CN201510666157.2A patent/CN105117323B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904850A (zh) * | 2006-08-04 | 2007-01-31 | 上海科泰世纪科技有限公司 | 对嵌入式操作系统的性能信息进行实时监测的方法 |
US9047134B2 (en) * | 2012-03-27 | 2015-06-02 | Infosys Limited | System and method for increasing the capabilities of a mobile device |
WO2014037756A1 (en) * | 2012-09-07 | 2014-03-13 | Asystel S.P.A. | Device for transforming a screen including a hdmi port into a multimedia or personal computer |
CN103164268A (zh) * | 2013-04-02 | 2013-06-19 | 北京奇虎科技有限公司 | 系统优化方法及装置 |
CN104750585A (zh) * | 2013-12-30 | 2015-07-01 | 腾讯科技(深圳)有限公司 | 终端检测的方法及装置 |
CN104331488A (zh) * | 2014-11-13 | 2015-02-04 | 北京奇虎科技有限公司 | 基于悬浮窗的文件清理方法、装置及设备 |
CN104503887A (zh) * | 2014-12-15 | 2015-04-08 | 北京奇虎科技有限公司 | 计算设备状态展示方法及装置 |
CN104834601A (zh) * | 2015-05-13 | 2015-08-12 | 上海斐讯数据通信技术有限公司 | 基于Android系统的智能终端内存泄露的自动化测试方法 |
Non-Patent Citations (1)
Title |
---|
胡建华 等: "基于.NET的动态实时曲线的绘制方法", 《计算机技术与发展》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526668A (zh) * | 2017-08-01 | 2017-12-29 | 广东欧珀移动通信有限公司 | Cpu监控方法和装置、计算机设备、计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105117323B (zh) | 2018-09-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100449505C (zh) | 用于修改数据存储器配置的设备、系统和方法 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN111045814B (zh) | 资源调度方法和终端设备 | |
CN106899857B (zh) | 服务器负载调节方法、装置及服务器 | |
CN108845798A (zh) | 一种可视化大数据任务编排框架及处理方法 | |
CN108388496A (zh) | 一种系统日志的收集方法 | |
CN105989144A (zh) | 通知消息管理方法、装置、系统及终端设备 | |
CN102231673A (zh) | 用于监控业务服务器的系统和方法 | |
CN108874550A (zh) | 一种调整线程池的方法、装置、存储介质和计算机设备 | |
CN108108248A (zh) | 一种实现目标检测的cpu+gpu集群管理方法、装置及设备 | |
CN109190025A (zh) | 信息监控方法、装置、系统和计算机可读存储介质 | |
CN105204981A (zh) | 应用性能测试方法和装置 | |
CN114157679A (zh) | 基于云原生分布式应用监控方法、装置、设备及介质 | |
CN103501372A (zh) | 智能手机电流与事件信息的同步监测方法 | |
CN106788896A (zh) | 日志数据的上传方法和装置 | |
CN110187838A (zh) | 数据io信息处理方法、分析方法、装置和相关设备 | |
CN103036975A (zh) | 虚拟机控制方法及装置 | |
CN111008054A (zh) | 页面显示方法、设备及电子设备 | |
CN105117323A (zh) | 一种终端及其cpu或内存的状态检测方法 | |
CN109764915A (zh) | 根据生产环境温湿度智能预警方法、存储介质及智能终端 | |
CN104133869B (zh) | 一种网页页面刷新方法 | |
CN110347546B (zh) | 监控任务动态调整方法、装置、介质及电子设备 | |
US11621988B1 (en) | Adaptable internet-of-things (IoT) computing systems and methods for improved declarative control of streaming data | |
US20180173601A1 (en) | Energy consumption analysis based on telemetry data | |
CN102438033A (zh) | 手持终端内容配置系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 510655 Guangdong, Guangdong, Guangzhou City, Guangzhou City, Panyu District South Village, Huambo two road, No. 79, Huambo business district, Wanda Commercial Square North District B-1 Applicant after: Guangzhou Huaduo Network Technology Co., Ltd. Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08, Applicant before: Guangzhou Huaduo Network Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |