CN112306790B - 一种内存数据获取方法、装置、智能终端及存储介质 - Google Patents
一种内存数据获取方法、装置、智能终端及存储介质 Download PDFInfo
- Publication number
- CN112306790B CN112306790B CN201910691263.4A CN201910691263A CN112306790B CN 112306790 B CN112306790 B CN 112306790B CN 201910691263 A CN201910691263 A CN 201910691263A CN 112306790 B CN112306790 B CN 112306790B
- Authority
- CN
- China
- Prior art keywords
- control
- application program
- memory data
- memory
- instruction
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
- G06F11/3079—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by reporting only the changes of the monitored data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种内存数据获取方法、装置、智能终端及存储介质,所述方法包括:当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据;当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据;根据所述第一内存数据和所述第二内存数据,确定所述操作指令对应的内存变化数据。本发明可以实现内存自动分析与记录的功能,提高了内存分析效率,且无需借助其他工具,节省了成本。
Description
技术领域
本发明涉及内存数据分析与记录技术领域,尤其涉及的是一种内存数据获取方法、装置、智能终端及存储介质。
背景技术
随着计算机技术、计算机网络技术和互联网的飞速发展,计算机正在极大地促进人类社会的进步,智能终端已经深入到人们日常生活的各个方面。并且智能终端中的应用程序及控件越来越多样化。而应用程序或者控件对系统所占用的内存会影响系统整体的流畅度。
但是,在智能终端的实际使用过程中,用户是很难直接观察到应用程序或者控件的内存数据的变化,虽然现有技术中存在一些内存分析方法,但是都是需要借助一些工具来实现,并且分析需要较长时间,分析效率低下。
因此,现有技术还有待于改进和发展。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种内存数据获取方法、装置、智能终端及存储介质,以在应用程序或控件的接收到操作指令时以及完成该操作指令时获取到第一内存数据以及第二内存数据,然后根据所述第一内存数据以及所述第二内存数据就可以得到所述应用程序或者控件在所述操作指令下所对应的内存变化数据,实现内存自动分析与记录的功能,提高了内存分析效率,且无需借助其他工具,节省了成本。
本发明解决技术问题所采用的技术方案如下:
第一方面,本发明实施例提供了一种内存数据获取方法,其中所述方法应用于智能终端,所述方法包括:
当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据;
当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据;
根据所述第一内存数据和所述第二内存数据,确定所述操作指令对应的内存变化数据。
优选地,所述操作指令包括:界面状态改变指令;所述当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据,包括:
当获取所述界面状态改变指令时,确定所述界面状态改变指令所针对的所述应用程序或所述控件;
获取所述应用程序或所述控件的所述第一内存数据,所述第一内存数据为所述应用程序或所述控件在获取所述界面状态改变指令但并未执行所述界面状态改变指令时所对应的内存数据。
优选地,所述当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据,包括:
启动监听服务程序,并控制所述监听服务程序监听所述界面状态改变指令所针对的所述应用程序或所述控件的界面状态信息;
根据所述监听服务程序监听到的所述界面状态信息判断所述应用程序或所述控件的界面状态信息是否发生变化;
若所述界面状态信息发生变化,则判定所述应用程序或所述控件完成所述界面状态改变指令;
获取所述界面状态信息发生变化的所述应用程序或所述控件的所述第二内存数据,所述第二内存数据为所述应用程序或所述控件在完成所述界面状态改变指令时所对应的内存数据。
优选地,所述根据监听到的所述界面状态信息判断所述智能终端的界面状态信息是否发生变化,包括:
获取所述监听服务程序的启动数据,根据所述启动数据判断所述监听服务程序是否为首次启动;
若所述监听服务程序为首次启动,则将监听到的所述界面状态信息与所述应用程序或所述控件的初始化界面状态信息进行比对,以判断所述应用程序或所述控件的界面状态信息是否发生变化,所述初始化界面状态信息为所述应用程序或所述控件在初次启动时的界面状态信息;
若所述监听服务程序为非首次启动,将监听到的所述界面状态信息与上一次获取的界面状态信息进行比对,以判断所述应用程序或所述控件的界面状态信息是否发生变化。
优选地,所述界面状态信息包括:界面图像信息、界面亮度信息、界面上的控件信息。
优选地,所述操作指令包括:用户点击触发指令;所述当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据,包括:
当获取所述用户主动触发指令时,确定所述用户主动触发指令所针对的所述应用程序或所述控件;
获取所述应用程序或所述控件的所述第一内存数据,所述第一内存数据为所述应用程序或所述控件在获取所述用户点击触发指令但未执行所述用户点击触发指令时所对应的内存数据。
优选地,所述当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据,包括:
启动监听服务程序,并控制所述监听服务程序监听所述用户主动触发指令所针对的所述应用程序或所述控件的工作状态信息;
根据所述监听服务程序监听到的所述工作状态信息判定所述应用程序或所述控件的工作状态是否发生改变;
若所述应用程序的工作状态发生改变,则判定所述应用程序或所述控件完成所述用户主动触发指令;
获取所述工作状态发生改变的所述应用程序或所述控件的所述第二内存数据,所述第二内存数据是所述应用程序或所述控件完成所述用户点击触发指令时所对应的内存数据。
优选地,所述根据所述监听服务程序监听到的所述工作状态信息判定所述应用程序或所述控件的工作状态是否发生改变,包括:
获取所述监听服务程序的启动数据,根据所述启动数据判断所述监听服务程序是否为首次启动;
若所述监听服务程序为首次启动,则将监听到的所述工作状态信息与所述应用程序或所述控件的初始状态信息进行比对,以判断所述应用程序或所述控件的工作状态信息是否发生变化,所述初始状态信息为所述应用程序或所述控件在被安装完成后,且未启动的工作状态信息;
若所述监听服务程序为非首次启动,将监听到的所述工作状态信息与上一次获取的工作状态信息进行比对,以判断所述应用程序或所述控件的工作状态信息是否发生变化。
优选地,所述根据所述第一内存数据和所述第二内存数据,确定所述操作指令对应的内存变化数据,包括:
根据所述第一内存数据和所述第二内存数据,获取所述第一内存数据与所述第二内存数据的差值;
将所述差值作为所述应用程序或所述控件在所述操作指令下所对应的所述内存变化数据。
第二方面,本发明实施例提供了一种内存数据获取装置,包括:
第一内存数据单元,用于当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据;
第二内存数据单元,用于当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据;
内存变化数据单元,用于根据所述第一内存数据和所述第二内存数据,确定所述操作指令对应的内存变化数据。
第三方面,本发明实施例提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行上述任意一项所述的内存数据获取方法的步骤。
第四方面,本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任意一项所述的内存数据获取方法的步骤。
本发明的有益效果:本发明实施例通过在应用程序或控件获取到操作指令时获取到第一内存数据以及在所述应用程序或所述控件在完成该操作指令时第二内存数据,然后根据所述第一内存数据以及所述第二内存数据就可以得到所述应用程序或者控件在所述操作指令下所对应的内存变化数据,即得到所述应用程序或者控件在接收所述操作指令时和在完成所述操作指令时,其内存数据的变化,实现内存自动分析与记录的功能,提高了内存分析效率,且无需借助其他工具,节省了成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的内存数据获取方法的较佳实施例的流程图。
图2是本发明实施例提供的内存数据获取方法中获取第一内存数据的第一实施例的流程图。
图3是本发明实施例提供的内存数据获取方法中获取第一内存数据的第二实施例的流程图。
图4是本发明实施例提供的内存数据获取方法中获取第二内存数据的第一实施例的流程图。
图5是本发明实施例提供的内存数据获取方法中获取第二内存数据的第二实施例的流程图。
图6是本发明实施例提供的内存数据获取装置的原理框图。
图7是本发明实施例提供的智能终端的功能原理框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在智能终端的实际使用过程中,用户是很难直接观察到应用程序或者控件的内存数据的变化,虽然现有技术中存在一些内存分析方法,但是都是需要借助一些工具来实现,并且分析需要较长时间,分析效率低下。
为了解决现有技术的问题,发明实施例通过在应用程序或控件获取到操作指令时获取到第一内存数据,也就是说,当获取到针对应用程序或者控件的操作指令时,对所述应用程序或者控件所对应的第一内存数据进行获取,因此该第一内存数据是在该应用程序或控件接收到所述操作指令,但未执行所述操作指令时的内存数据。然后,在所述应用程序或所述控件在完成该操作指令时第二内存数据,该第二内存数据在所述应用程序或控件完成所述操作指令时对应的内存数据。所述第一内存数据以及第二内存数据分别为所述应用程序或控件在接收所述操作指令时以及在完成所述操作指令时的内存数据,因此根据所述第一内存数据以及所述第二内存数据就可以得到所述应用程序或者控件在所述操作指令下所对应的内存变化数据,实现内存自动分析与记录的功能,提高了内存分析效率,且无需借助其他工具,节省了成本。
举例说明,当获取到针对微信的启动指令时,则就获取微信的内存数据,此时的内存数据为第一内存数据(即在微信接收到启动指令,且还没有执行所述启动指令时的内存数据),然后微信执行该启动指令,然后在微信完成所述启动指令时获取微信的第二内存数据,然后根据获取到的第一内存数据以及第二内存数据就可以得到微信在接收到启动指令开始到完成所述启动指令时的内存变化数据,从而实现对微信的内存变化数据进行自动分析,提高内存分析效率。
示例性方法
如图1中所示,本发明实施例提供了一种内存数据获取方法。在本实施例中,所示方法包括如下步骤:
步骤S100、当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据。
由于本实施例所要实现的是自动对智能终端的应用程序或者控件的内存变化数据进行获取与记录,而应用程序或者控件的内存数据的变化是与应用程序或者控件界面状态、用户点击触发指令是有很大关系的。无论是应用程序或者控件的界面状态发生变化之前与发生变化之后,还是应用程序或者控件在执行用户点击触发指令前与执行完用户点击触发指令后,所述应用程序或者所述控件的内存数据都会发生变化。因此,本实施例中的操作指令包括界面状态改变指令以及用户点击触发指令。本实例中的界面状态改变指令指的是向智能终端中的应用程序或控件所发出的用于改变所述应用程序或者控件的界面状态(包括界面上显示的内容、界面的显示亮度等状态)的指令。例如向智能终端中的微信发送一个用于使微信正在使用的微信好友界面切换到朋友圈界面的指令,或者是用于使微信中的微信好友界面的显示亮度提高的指令。本实施例中的用户点击触发指令可以理解为不会改变所述应用程序或所述控件的界面状态信息,但是会改变所述应用程序或所述控件的内存数据的指令,在一种可能的实现方式中,用户点击触发指令可以是用户通过点击操作(或其他触发操作方式)来向智能终端中的应用程序或控件发出的除上述界面状态指令以外的触发指令。例如用户通过手动点击操作来来进行截屏,该用户点击触发指令所触发的是智能终端中的截屏控件,但是并不会改变所述截屏控件的界面状态信息,而所述截屏控件在接收到所述用户点击触发指令时以及在完成所述用户点击触发指令时的内存数据是有变化的(由于截屏控件需要完成截屏操作并将截屏图片保存至文件管理库,因此截屏控件在获取所述用户点击触发指令时与完成所述用户点击触发指令时的内存数据是有变化的)。还比如,当智能终端中的音乐APP(如网易云音乐)在播放音乐时(此时处于网易云音乐的播放界面),用户通过手动点击操作调大或调小音量,即用户点击触发指令为音量调整指令,该音量调整指令同样不会改变网易云音乐的界面状态信息,但是会改变网易云音乐中的音量控件的内存数据。本实施例中通过对界面状态改变指令以及用户点击触发指令进行监控,并在监控到界面状态改变指令或者用户点击触发指令时,获取到界面状态改变指令或者用户点击触发指令所对应的应用程序或控件,然后对所述应用程序或控件的内存数据进行获取,即得到第一内存数据,从而实现内存自动分析与记录的功能,提高了内存分析效率,且无需借助其他工具,节省了成本。
具体地,当所述操作指令为界面状态改变指令时,所述第一内存的获取方式包括如下步骤:
步骤S101、当获取所述界面状态改变指令时,确定所述界面状态改变指令所针对的所述应用程序或所述控件;
步骤S102、获取所述应用程序或所述控件的所述第一内存数据,所述第一内存数据为所述应用程序或所述控件在获取所述界面状态改变指令但并未执行所述界面状态改变指令时所对应的内存数据。
在本实施例中,当获取到界面状态改变指令后,则对所述界面状态改变指令进行分析,分析出所述界面状态改变指令所对应的应用程序或者控件,也就是分析出所述界面状态改变指令是用于对哪一个应用程序或控件进行操控的。具体的分析方式可以通过从所述用户点击触发指令提取其中的特定字符,该特定字符表示的是该用户点击触发指令所对应的应用程序或控件。然后对该界面状态改变指令所对应的应用程序或者控件的内存数据进行获取,即得到所述第一内存数据。
举例说明,当获取到一界面状态改变指令A后,对该界面状态改变指令A进行解析,从解析出的数据得到该界面改变指令A中对应的是微信,是用于对微信的界面进行切换(如控制微信从登陆界面进入了微信好友界面),因此此时就获取微信的内存数据,此内存数据即为第一内存数据,即是微信在获取所述界面状态改变指令A,但并未执行所述界面状态改变指令A时所对应的内存数据。
进一步地,如图3中所示,当所述操作指令为用户点击触发指令时,述第一内存的获取方式包括如下步骤:
步骤S110、当获取所述用户主动触发指令时,确定所述用户主动触发指令所针对的所述应用程序或所述控件;
步骤S120、获取所述应用程序或所述控件的所述第一内存数据,所述第一内存数据为所述应用程序或所述控件在获取所述用户点击触发指令但未执行所述用户点击触发指令时所对应的内存数据。
在本实施例中,当获取到用户点击触发指令后,则对所述用户点击触发指令进行分析,分析出所述用户点击触发指令所对应的应用程序或者控件,也就是分析出所述用户点击触发指令是用于对哪一个应用程序或控件进行操控的。具体的分析方式可以通过从所述用户点击触发指令提取其中的特定字符,该特定字符表示的是该用户点击触发指令所对应的应用程序或控件。然后对该用户点击触发指令所对应的应用程序或者控件的内存数据进行获取,即得到所述第一内存数据。
举例说明,当获取到用户点击触发指令为音量调整指令(包括音量调大或调小)时,则对该音量调整指令进行解析,从解析出的数据中得到该音量调整指令的对象是网易云音乐,即该音量调整指令是用于调整网易云音乐的播放音量的。此时就会获取网易云音乐中的音量控件的内存数据,该内存数据即为第一内存数据,即是在网易云音乐中的音量控件获取所述音量调整指令,但并未执行所述音量调整指令时所对应的内存数据。
进一步地,步骤S200、当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据。
在本实施例中,由于之前获取到针对应用程序或所述控件的操作指令,因此该应用程序或者所述控件在接收到所述操作指令后就会执行所述操作指令,当所述应用程序或者所述控件完成所述操作指令时,则获取所述应用程序或所述控件的第二内存数据。由于本发明实施例中的操作指令包括有界面状态改变指令以及用户点击触发指令,因此对于第二内存数据的获取方式是不相同的,以下分别对所述第二内存数据的获取方式进行描述。
如图4所示,当所述操作指令为界面状态改变指令时,所述第二内存的获取方式包括如下步骤:
步骤S201、启动监听服务程序,并控制所述监听服务程序监听所述界面状态改变指令所针对的所述应用程序或所述控件的界面状态信息;
步骤S202、根据所述监听服务程序监听到的所述界面状态信息判断所述应用程序或所述控件的界面状态信息是否发生变化;
步骤S203、若所述界面状态信息发生变化,则判定所述应用程序或所述控件完成所述界面状态改变指令;
步骤S204、获取所述界面状态信息发生变化的所述应用程序或所述控件的所述第二内存数据,所述第二内存数据为所述应用程序或所述控件在完成所述界面状态改变指令时所对应的内存数据。
具体实施时,本实施例的监听服务程序是所述智能终端所自带的功能程序,该监听服务程序可以对所述智能终端中的界面状态信息进行监听。优选地,本实施例中的监听服务程序为Accessibility Service服务,利用Accessibility Service服务来监听智能终端的界面状态信息。Accessibility Service(辅助功能)服务是一个Android系统提供给的一种服务,AccessibilityService运行在后台,并且能够收到由系统发出的一些事件。Accessibility Service服务提供两种功能:查找界面元素,实现模拟点击。因此通过Accessibility Service服务既可以监听到界面状态信息又可以监听到指令信息。在本实施例中,启动Accessibility Service服务(即本实施例中的监听服务程序)后,控制所述Accessibility Service服务监听所述界面状态改变指令所针对的所述应用程序或所述控件的界面状态信息,然后根据所述Accessibility Service服务监听到的界面状态信息判断所述应用程序或者控件的界面状态信息是否发生改变。具体地,本实施例会首先获取所述监听服务程序(本实施例优选为Accessibility Service服务)的启动数据,根据所述启动数据判断所述Accessibility Service服务是否为首次启动。若所述AccessibilityService服务为首次启动,则将监听到的所述界面状态信息与所述应用程序或者所述控件的初始化界面状态信息进行比对,以判断所述应用程序或者所述控件的界面状态信息是否发生变化,所述初始化界面状态信息为所述应用程序或者所述控件在初次启动时的界面状态信息。例如,当获取到Accessibility Service服务的启动数据为1次,则说明该Accessibility Service服务为首次启动,即首次对所述应用程序或者所述控件的界面状态信息进行获取,此时就将获取到的界面状态信息与该所述应用程序或者所述控件初次使用(即所述智能终端出厂后的第一次使用所述应用程序或者所述控件)时的界面状态信息进行比对,从而判断所述应用程序或者所述控件的界面状态信息是否发生变化,继而对所述应用程序或者所述控件的第二内存数据进行获取。
而当所述Accessibility Service服务为非首次启动时,将监听得到的界面状态信息与上一次获取的的界面状态信息进行对比,通过两者之间的比较,来判断出所述应用程序或者所述控件的界面状态信息是否发生改变。例如,当获取到Accessibility Service服务的启动数据为10次,则说明该Accessibility Service服务不是首次启动,即不是首次对所述应用程序或控件的界面状态信息进行获取,此时就将获取到的界面状态信息与上一次(即第9次)获取的的界面状态信息进行对比,从而判断所述应用程序或控件的界面状态信息是否发生变化。例如,获取到的界面状态信息是微信的登录界面,而上一次所获取的界面状态信息为朋友圈界面,因此可以得出微信的界面状态信息发生了变化。
在本实施例中,界面状态信息指的是所述应用程序或者控件的界面上所显示出的信息。所述界面状态信息除了包括上述界面上显示的内容,还可以包括:界面图像信息、界面亮度信息以及界面上的其他的控件信息。当然,本实施例中的界面状态信息还可以包括其他本领域技术人员能够想到的与界面相关的信息。在本实施例中,所述界面状态信息发生改变,则就可以在界面图像信息的改变,界面亮度信息的改变以及界面上的控件信息的改变等方面体现出来。具体地,例如,当智能终端中的某个应用程序从登陆界面进入了该应用程序的菜单界面,或者某个应用程序进入了下一个子界面,此时界面上显示的内容发生改变。又如,某个控件的界面图像自动切换(如手机上的天气预报控件的动态背景图像,或者定时更新背景图像),则此时该控件的界面图像信息就会发生改变。再例如,当智能终端自动调整某个应用程序或者控件的界面亮度时,此时该应用程序或者控件的界面亮度信息就会发生改变,比如微信上的地铁二维码小程序或者公交二维小程序打开时,微信上的二维码界面的亮度就会自动调大,此时微信的界面亮度就发生了变化。还比如,智能终端的桌面控件的界面上增加了某些控件(如增加了天气预报的小窗口),此时桌面控件的界面上的控件信息也就发生了改变。
而当所述所述界面状态信息发生变化,则判定所述应用程序或所述控件完成所述界面状态改变指令,进而获取所述界面状态信息发生变化的所述应用程序或所述控件的所述第二内存数据,所述第二内存数据为所述应用程序或所述控件在完成所述界面状态改变指令时所对应的内存数据。例如,当微信从登陆界面进入了微信好友界面时,即微信的界面状态信息发生了改变,此时判定微信完成了界面状态指令A,此时就获取微信的第二内存数据。
优选地,为了更加准确地获取到智能终端的界面状态信息,以便及时判断出所述应用程序或所述控件的界面状态信息是否发生改变,本实施例控制所述AccessibilityService服务(即本实施例中的监听服务程序)每隔预设的第一时间段来对所述应用程序或所述控件的界面状态信息进行获取,例如每隔1秒或者每隔5秒,这样就可以及时判断出所述应用程序或所述控件的界面状态信息是否发生改变,以便及时获取所述应用程序或所述控件的第二内存数据。
进一步地,由于智能终端中的应用程序或控件还可以接收用户点击触发指令来执行对应的操作,而用户点击触发指令是会对应用程序或控件的内存数据造成影响。因此为了更加全面地分析所述应用程序或者所述控件的内存数据的变化,本实施例还对所述应用程序或者所述控件所接收的用户点击触发指令进行分析。具体如图5中所示,当所述操作指令为用户点击触发指令时,所述第二内存数据的获取方式包括以下步骤:
步骤S210、启动监听服务程序,并控制所述监听服务程序监听所述用户主动触发指令所针对的所述应用程序或所述控件的工作状态信息;
步骤S220、根据所述监听服务程序监听到的所述工作状态信息判定所述应用程序或所述控件的工作状态是否发生改变;
步骤S230、若所述应用程序的工作状态发生改变,则判定所述应用程序或所述控件完成所述用户主动触发指令;
步骤S240、获取所述工作状态发生改变的所述应用程序或所述控件的所述第二内存数据,所述第二内存数据是所述应用程序或所述控件完成所述用户点击触发指令时所对应的内存数据。
具体实施时,由于Accessibility Service服务既可以监听到界面状态信息又可以监听到指令信息。因此本实施例中对于用户点击触发指令的监听,同样选用所述智能终端中自带的Accessibility Service服务,通过启动Accessibility Service服务,并控制所述Accessibility Service服务中的on Accessibility Event方法监听所述应用程序或控件接收到的用户点击触发指令。在本实施例中,所述用户点击触发指的是用户通过手动操作向所述智能终端中的某一个应用程序或者某一个控件所发送的命令,该应用程序或控件在接收到该命令后可以执行对应的操作。
在本实施例中,启动Accessibility Service服务(即本实施例中的监听服务程序)后,控制所述Accessibility Service服务监听所述用户主动触发指令所针对的所述应用程序或所述控件的工作状态信息,然后根据所述Accessibility Service服务监听到的所述工作状态信息判定所述应用程序或所述控件的工作状态是否发生改变,进而判定所述应用程序或所述控件是否完成所述用户点击触发指令。本实施例中的工作状态信息指的是所述应用程序或所述控件在执行所述用户点击触发指令时的进程状态,进程状态可以体现应用程序或者控件的工作状态。如网易云音乐的音量控件在接收到用户的音量调整指令(即本实施例中的用户点击触发指令)后,网易云音乐的音量控件就会执行该用户点击触发指令,在执行的过程中,网易云音乐的音量控件的进程状态就会有改变。当进程状态发生改变,则就可以判定所述网易云音乐的音量控件的工作状态发生改变,即完成所述用户点击触发指令。
具体地,本实施例会首先获取所述监听服务程序(本实施例优选为AccessibilityService服务)的启动数据,根据所述启动数据判断所述Accessibility Service服务是否为首次启动。若所述Accessibility Service服务为首次启动,则将监听到的所述工作状态信息与所述应用程序或者所述控件的初始化工作状态信息进行比对,以判断所述应用程序或者所述控件的工作状态信息是否发生变化,所述初始化工作状态信息为所述应用程序或者所述控件在初次启动时的工作状态信息。例如,当获取到Accessibility Service服务的启动数据为1次,则说明该Accessibility Service服务为首次启动,即首次对所述应用程序或者所述控件的工作状态信息进行获取,此时就将获取到的工作状态信息与该所述应用程序或者所述控件初次使用(即所述智能终端出厂后的第一次使用所述应用程序或者所述控件)时的工作状态信息进行比对,从而判断所述应用程序或者所述控件的工作状态信息是否发生变化,继而对所述应用程序或者所述控件的第二内存数据进行获取。
而当所述Accessibility Service服务为非首次启动时,将监听得到的工作状态信息与上一次获取的的工作状态信息进行对比,通过两者之间的比较,来判断出所述应用程序或者所述控件的工作状态信息是否发生改变。例如,当获取到Accessibility Service服务的启动数据为10次,则说明该Accessibility Service服务不是首次启动,即不是首次对所述应用程序或控件的工作状态信息进行获取,此时就将获取到的工作状态信息与上一次(即第9次)获取的的工作状态信息进行对比,从而判断所述应用程序或控件的工作状态信息是否发生变化。
优选地,为了更加准确地判断出所述应用程序或控件的工作状态信息是否发生改变,本实施例控制所述所述Accessibility Service服务中的Accessibility Event方法(Accessibility Event用于监控智能终端中应用程序或控件的事件变化,比如焦点改变,输入内容变化,,按钮被点击等)以每隔预设的第二时间段(例如每隔1秒或者每隔5秒)来监听所述用户主动触发指令所针对的所述应用程序或所述控件的工作状态信息,这样就可以及时判断出所述用户主动触发指令所针对的所述应用程序或所述控件的工作状态信息是否发生改变,以便及时判定所述应用程序或所述控件完成了所述用户点击触发指令,从而及时获取到所述应用程序或所述控件的第二内存数据。
进一步,步骤S300、根据所述第一内存数据和所述第二内存数据,确定所述操作指令对应的内存变化数据。
具体地,由于所述第一内存数据是所述应用程序或者所述控件在获取所述操作指令(包括界面状态改变指令以及用户点击触发指令)但未执行所述操作指令时所对应的内存数据,而所述第二内存数据是所述应用程序或所述控件完成所述操作指令时所对应的内存数据。然后根据所述第一内存数据和所述第二内存数据,获取所述第一内存数据与所述第二内存数据的差值;将所述差值作为所述应用程序或所述控件在所述操作指令下所对应的所述内存变化数据。
优选地,本实施例还将最后将获取到的内存变化数据写入文件或者日志中,并将该文件及日志进行上报,以提示用户该应用程序或控件的内存变化数据。例如,当操作指令为用于对微信的界面改变指令指令A,当获取到该界面改变指令指令A时,获取微信的第一内存数据。当判定微信从登陆界面进入了微信好友界面,则判定微信完成了界面状态改变指令A,则获取微信的第二内存数据。然后计算所述第一内存数据和所述第二内存数据之前的差值,该差值即为微信在界面改变指令A下的内存变化数据,然后将微信在界面改变指令A下的内存变化数据写入文件与日志中,并上报,以提示用户该应用程序或控件的内存变化数据。
优选地,本实施例中还可以获取所述操作指令所对应的所述应用程序或控件的最后界面状态信息(即所述应用程序或所述控件完成所述操作指令时的界面状态信息),并将所述界面状态信息与所述获取到的内存变化数据一起写入所述文件或者所述日志。具体地,可以通过获取界面图像信息、界面亮度信息、界面上显示的内容以及界面上的控件信息。通过获取界面状态信息以及内存变化数据,并一同进行数据上报,使得用户可以更加清楚地了解所述应用程序或所述控件的内存变化数据,而且还可以实现系统内存自动分析与记录的功能,提高了系统分析效率,无需借助其他工具,节省了成本。
进一步地,若所述移动终端未获取到针对应用程序或控件的操作指令时,则可以每隔预设的第三时间段(如每隔5秒)重复来获取所述操作指令,以便及时获取到所述操作指令,从而及时判断出所述操作指令对应的应用程序或控件的第一内存数据及第二内存数据,进而分析出该应用程序或控件在所述操作指令下的内存变化数据,实现对内存变化数据进行获取与记录。
示例性设备
如图6中所示,图6中示出了本发明实施例中的一种内存数据获取装置,该装置包括:第一内存数据单元610,用于当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据;第二内存数据单元620,用于当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据;内存变化数据单元630,用于根据所述第一内存数据和所述第二内存数据,确定所述操作指令对应的内存变化数据。
基于上述实施例,本发明还提供了一种智能终端,其原理框图可以如图7所示。该智能终端包括通过系统总线连接的处理器、存储器、网络接口、显示屏、温度传感器。其中,该智能终端的处理器用于提供计算和控制能力。该智能终端的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该智能终端的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种内存数据获取方法。该智能终端的显示屏可以是液晶显示屏或者电子墨水显示屏,该智能终端的温度传感器是预先在智能终端内部设置,用于检测内部设备的运行温度。
本领域技术人员可以理解,图7中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的智能终端的限定,具体的智能终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种智能终端,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据;
当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据;
根据所述第一内存数据和所述第二内存数据,确定所述操作指令对应的内存变化数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
综上所述,本发明公开了一种内存数据获取方法、装置、智能终端及存储介质,所述方法包括:当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据;当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据;根据所述第一内存数据和所述第二内存数据,确定所述操作指令对应的内存变化数据。本发明可以实现内存自动分析与记录的功能,提高了内存分析效率,且无需借助其他工具,节省了成本。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (8)
1.一种内存数据获取方法,其特征在于,所述方法应用于智能终端,所述方法包括:
当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据;
所述操作指令包括界面状态改变指令或用户点击触发指令;
当获取针对应用程序或控件的界面状态改变指令时,获取所述应用程序或所述控件对应的第一内存数据,包括:
当获取所述界面状态改变指令时,确定所述界面状态改变指令所针对的所述应用程序或所述控件;
获取所述应用程序或所述控件的所述第一内存数据,所述第一内存数据为所述应用程序或所述控件在获取所述界面状态改变指令但并未执行所述界面状态改变指令时所对应的内存数据;
当获取针对应用程序或控件的用户点击触发指令时,获取所述应用程序或所述控件对应的第一内存数据,包括:
当获取所述用户主动触发指令时,确定所述用户主动触发指令所针对的所述应用程序或所述控件;
获取所述应用程序或所述控件的所述第一内存数据,所述第一内存数据为所述应用程序或所述控件在获取所述用户点击触发指令但未执行所述用户点击触发指令时所对应的内存数据;
当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据;
根据所述第一内存数据和所述第二内存数据,确定所述操作指令对应的内存变化数据,包括:
根据所述第一内存数据和所述第二内存数据,获取所述第一内存数据与所述第二内存数据的差值;
将所述差值作为所述应用程序或所述控件在所述操作指令下所对应的所述内存变化数据;
将所述操作指令的内存变化数据写入文件或日志中,并将所述文件及日志进行上报,以提示用户应用程序或空间的内存变化数据;
所述当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据还包括:
从操作指令中提取的特定字符来确定所述应用程序或所述控件对操作指令所对应的应用程序或控件的内存数据进行获取,得到所述第一内存数据;
所述当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据,包括:
启动监听服务程序,并控制所述监听服务程序监听所述界面状态改变指令所针对的所述应用程序或所述控件的界面状态信息;
所述界面状态信息包括:界面图像信息、界面亮度信息、界面上的控件信息;
所述监听服务程序每隔预设的时间段对所述应用程序或所述控件的界面状态信息进行获取。
2.根据权利要求1所述的内存数据获取方法,其特征在于,所述当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据,包括:
根据所述监听服务程序监听到的所述界面状态信息判断所述应用程序或所述控件的界面状态信息是否发生变化;
若所述界面状态信息发生变化,则判定所述应用程序或所述控件完成所述界面状态改变指令;
获取所述界面状态信息发生变化的所述应用程序或所述控件的所述第二内存数据,所述第二内存数据为所述应用程序或所述控件在完成所述界面状态改变指令时所对应的内存数据。
3.根据权利要求2所述的内存数据获取方法,其特征在于,所述根据监听到的所述界面状态信息判断所述智能终端的界面状态信息是否发生变化,包括:
获取所述监听服务程序的启动数据,根据所述启动数据判断所述监听服务程序是否为首次启动;
若所述监听服务程序为首次启动,则将监听到的所述界面状态信息与所述应用程序或所述控件的初始化界面状态信息进行比对,以判断所述应用程序或所述控件的界面状态信息是否发生变化,所述初始化界面状态信息为所述应用程序或所述控件在初次启动时的界面状态信息;
若所述监听服务程序为非首次启动,将监听到的所述界面状态信息与上一次获取的界面状态信息进行比对,以判断所述应用程序或所述控件的界面状态信息是否发生变化。
4.根据权利要求1所述的内存数据获取方法,其特征在于,所述当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据,包括:
启动监听服务程序,并控制所述监听服务程序监听所述用户主动触发指令所针对的所述应用程序或所述控件的工作状态信息;
根据所述监听服务程序监听到的所述工作状态信息判定所述应用程序或所述控件的工作状态是否发生改变;
若所述应用程序的工作状态发生改变,则判定所述应用程序或所述控件完成所述用户主动触发指令;
获取所述工作状态发生改变的所述应用程序或所述控件的所述第二内存数据,所述第二内存数据是所述应用程序或所述控件完成所述用户点击触发指令时所对应的内存数据。
5.根据权利要求4所述的内存数据获取方法,其特征在于,所述根据所述监听服务程序监听到的所述工作状态信息判定所述应用程序或所述控件的工作状态是否发生改变,包括:
获取所述监听服务程序的启动数据,根据所述启动数据判断所述监听服务程序是否为首次启动;
若所述监听服务程序为首次启动,则将监听到的所述工作状态信息与所述应用程序或所述控件的初始状态信息进行比对,以判断所述应用程序或所述控件的工作状态信息是否发生变化,所述初始状态信息为所述应用程序或所述控件在被安装完成后,且未启动的工作状态信息;
若所述监听服务程序为非首次启动,将监听到的所述工作状态信息与上一次获取的工作状态信息进行比对,以判断所述应用程序或所述控件的工作状态信息是否发生变化。
6.一种内存数据获取装置,其特征在于,所述装置包括:
第一内存数据单元,用于当获取针对应用程序或控件的操作指令时,获取所述应用程序或所述控件对应的第一内存数据;
第二内存数据单元,用于当所述应用程序或所述控件完成所述操作指令时,获取所述应用程序或所述控件对应的第二内存数据;
内存变化数据单元,用于根据所述第一内存数据和所述第二内存数据,确定所述操作指令对应的内存变化数据;
所述第一内存数据单元,还用于:
当获取针对应用程序或控件的界面状态改变指令时,获取所述应用程序或所述控件对应的第一内存数据,包括:
当获取所述界面状态改变指令时,确定所述界面状态改变指令所针对的所述应用程序或所述控件;
获取所述应用程序或所述控件的所述第一内存数据,所述第一内存数据为所述应用程序或所述控件在获取所述界面状态改变指令但并未执行所述界面状态改变指令时所对应的内存数据;
当获取针对应用程序或控件的用户点击触发指令时,获取所述应用程序或所述控件对应的第一内存数据,包括:
当获取所述用户主动触发指令时,确定所述用户主动触发指令所针对的所述应用程序或所述控件;
获取所述应用程序或所述控件的所述第一内存数据,所述第一内存数据为所述应用程序或所述控件在获取所述用户点击触发指令但未执行所述用户点击触发指令时所对应的内存数据;
所述内存变化数据单元,包括:
根据所述第一内存数据和所述第二内存数据,获取所述第一内存数据与所述第二内存数据的差值;
将所述差值作为所述应用程序或所述控件在所述操作指令下所对应的所述内存变化数据;
所述第一内存数据单元还包括:
从操作指令中提取的特定字符来确定所述应用程序或所述控件对操作指令所对应的应用程序或控件的内存数据进行获取,得到所述第一内存数据;
所述内存变化数据单元还包括:
将所述操作指令的内存变化数据写入文件或日志中,并将该文件及日志进行上报,以提示用户该应用程序或控件的内存变化数据;
所述第二内存数据单元,包括:
启动监听服务程序,并控制所述监听服务程序监听所述界面状态改变指令所针对的所述应用程序或所述控件的界面状态信息;
所述界面状态信息包括:界面图像信息、界面亮度信息、界面上的控件信息;
所述监听服务程序每隔预设的时间段对所述应用程序或所述控件的界面状态信息进行获取。
7.一种智能终端,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于执行如权利要求1-5中任意一项所述的方法。
8.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-5中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910691263.4A CN112306790B (zh) | 2019-07-29 | 2019-07-29 | 一种内存数据获取方法、装置、智能终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910691263.4A CN112306790B (zh) | 2019-07-29 | 2019-07-29 | 一种内存数据获取方法、装置、智能终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306790A CN112306790A (zh) | 2021-02-02 |
CN112306790B true CN112306790B (zh) | 2023-05-02 |
Family
ID=74328996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910691263.4A Active CN112306790B (zh) | 2019-07-29 | 2019-07-29 | 一种内存数据获取方法、装置、智能终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112306790B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365760A (zh) * | 2012-04-01 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 显示信息的方法和移动终端 |
CN104142793A (zh) * | 2014-07-26 | 2014-11-12 | 珠海市君天电子科技有限公司 | 一种模拟点击终端控件的方法及装置 |
CN105404578A (zh) * | 2014-09-10 | 2016-03-16 | 腾讯科技(深圳)有限公司 | 用于显示应用程序所占用的内存的方法和装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681938B (zh) * | 2012-05-15 | 2015-02-18 | 青岛海信移动通信技术股份有限公司 | 一种内存泄漏检测方法及装置 |
CN106155860A (zh) * | 2015-03-31 | 2016-11-23 | 展讯通信(上海)有限公司 | 一种内存监控系统及方法 |
-
2019
- 2019-07-29 CN CN201910691263.4A patent/CN112306790B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103365760A (zh) * | 2012-04-01 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 显示信息的方法和移动终端 |
CN104142793A (zh) * | 2014-07-26 | 2014-11-12 | 珠海市君天电子科技有限公司 | 一种模拟点击终端控件的方法及装置 |
CN105404578A (zh) * | 2014-09-10 | 2016-03-16 | 腾讯科技(深圳)有限公司 | 用于显示应用程序所占用的内存的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112306790A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019223540A1 (zh) | 应用程序预加载方法、装置、存储介质及终端 | |
CN109766253B (zh) | 一种性能数据发送方法、装置、计算机设备及存储介质 | |
CN109190067B (zh) | 浏览器输入框展示方法、装置、计算机设备及存储介质 | |
CN111273899A (zh) | 代码处理方法、装置、电子设备及存储介质 | |
CN110362483A (zh) | 性能数据采集方法、装置、设备及存储介质 | |
CN106095660B (zh) | 应用的质量监控方法及装置 | |
CN107451163B (zh) | 一种动画显示方法和装置 | |
CN114637837A (zh) | 用户阅读行为信息的采集方法、装置、设备及介质 | |
CN112306790B (zh) | 一种内存数据获取方法、装置、智能终端及存储介质 | |
CN112650959B (zh) | 页面加载时长的统计方法、装置、设备及存储介质 | |
CN111382312B (zh) | 基于微信公众号的课后习题展示方法、装置、设备及介质 | |
CN112578953B (zh) | 应用于终端界面的显示控制方法及装置 | |
CN112416762A (zh) | Api测试方法及装置、设备、计算机可读存储介质 | |
CN111382061A (zh) | 一种测试方法、装置、介质和电子设备 | |
CN115311051A (zh) | 用于房屋带看的页面展示方法、设备及存储介质 | |
CN111563153B (zh) | 基于剪切板信息共享实现的推荐方法以及终端 | |
CN111258877B (zh) | 首屏页面可见时间的检测方法、装置及电子设备 | |
CN113626158A (zh) | 一种基于事件代理的埋点执行方法及装置 | |
CN108228307B (zh) | 应用的显示方法、装置、存储介质及电子设备 | |
CN109726111B (zh) | 测试规则订制方法、设备、装置及计算机可读存储介质 | |
CN113986417B (zh) | 一种应用程序投屏控制方法、装置、终端设备及存储介质 | |
CN114880091A (zh) | 一种数据处理方法及设备 | |
CN115314404B (zh) | 服务优化方法、装置、计算机设备及存储介质 | |
CN112329854B (zh) | 广告素材图片裁剪校验方法、装置 | |
CN112861041B (zh) | 一种媒体内容的展示方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |