本发明实施例涉及示教器界面管理技术领域,具体涉及一种示教器内存使用管理方法、装置、终端及存储介质。
背景技术:
随着工业自动化的发展,工业机器人的使用越来越广泛,而机器人都配有专用示教器,示教器的界面分布一般都包含手动运行、自动运行、程序编辑、文件管理等子模块,使用c++或者c#基于qt或者wpf开发示教器程序,这些子模块每一个模块都是一个独立的界面类,界面类在不同的示教器程序中初始化的方式主要分为两种:在开机时全部进行初始化和在选择了功能的时候初始化对应的类,两种方式都有其好处与弊端。在开机时对全部的界面进行初始化的方式对各界面的管理非常的方便,但是带来的问题是开机时会造成界面的卡顿以及长期的资源占用;在用到的时候进行界面的初始化非常灵活,但是如果是一个占用内存比较多的界面类的话可能会出现用户点击后界面反应迟钝的现象。
技术实现要素:
为了解决示教器使用时内存占用过多导致反应迟钝的技术问题,本发明实施例提供了一种示教器内存使用管理方法、装置、终端及存储介质。
有鉴于此,第一方面,本发明实施例提供一种示教器内存使用管理方法,包括:
获取示教器中各界面的历史使用记录;
根据所述历史使用记录,为所述示教器内的各界面分配内存。
可选的,根据所述历史使用记录,为所述示教器内的各界面分配内存,包括:
根据所述历史使用记录,确定每个界面作为示教器开机后第一个被打开的界面的次数;
用每个界面作为示教器开机后第一个被打开的界面的次数分别除以所述历史使用记录中记录的总开机次数,得到每个界面作为第一个被打开的界面的首开概率;
在所述示教器开机时,为所述首开概率大于第一阈值的界面分配内存。
可选的,根据所述历史使用记录,为所述示教器内的各界面分配内存,包括:
根据所述历史使用记录,确定在每个界面打开后其他界面作为下一个被打开的界面的次数;
用任意一个界面打开后其他界面作为下一个被打开的界面的次数分别除以所述历史使用记录中记录的所述任意一个界面的打开总次数,得到所述任意一个界面打开后其他界面作为下一个被打开的界面的切换概率;
当所述任意一个界面被打开后,为所述切换概率大于第二阈值的其他界面分配内存。
可选的,根据所述历史使用记录,为所述示教器内的各界面分配内存,包括:
根据所述历史使用记录,确定每个界面使用的总次数;
用每个界面使用的总次数分别除以所述历史使用记录中记录的所有界面打开的总次数,分别得到每个界面的使用概率;
当一个界面被切换后,若被切换的界面对应的使用概率小于第三阈值,则释放所述被切换的界面的内存。
第二方面,本发明实施例还提供一种示教器内存使用管理装置,包括:
获取模块,用于获取示教器中各界面的历史使用记录;
内存分配模块,用于根据所述历史使用记录,为所述示教器内的各界面分配内存。
可选的,所述内存分配模块包括:
第一次数统计单元,用于根据所述历史使用记录,确定每个界面作为第一个被打开的界面的次数;
首开概率计算单元,用于用每个界面作为示教器开机后第一个被打开的界面的次数分别除以所述历史使用记录中记录的总开机次数,得到每个界面作为第一个被打开的界面的首开概率;
第一分配单元,用于在所述示教器开机时,为所述首开概率大于第一阈值的界面分配内存。
可选的,所述内存分配模块包括:
第二次数统计单元,用于根据所述历史使用记录,确定在每个界面打开后其他界面作为下一个被打开的界面的次数;
切换概率计算单元,用于用任意一个界面打开后其他界面作为下一个被打开的界面的次数分别除以所述历史使用记录中记录的所述任意一个界面的打开总次数,得到所述任意一个界面打开后其他界面作为下一个被打开的界面的切换概率;
第二分配单元,用于当所述任意一个界面被打开后,为所述切换概率大于第二阈值的其他界面分配内存。
可选的,所述内存分配模块包括:
第三统计单元,用于根据所述历史使用记录,确定每个界面使用的总次数;
使用概率计算单元,用于用每个界面使用的总次数分别除以所述历史使用记录中记录的所有界面打开的总次数,分别得到每个界面的使用概率;
内存释放单元,用于当一个界面被切换后,若被切换的界面对应的使用概率小于第三阈值,则释放所述被切换的界面的内存。
第三方面,本发明实施例提供一种终端,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;
其中,所述处理器用于运行所述计算机程序时,执行第一方面所述方法。
第四方面,本发明实施例还提供一种存储介质,所述存储介质存储计算机指令,所述计算机指令使计算机执行第一方面所述方法。
相比现有技术,本发明实施例提出的一种示教器内存使用管理方法,通过获取示教器内各界面的历史使用记录,根据各界面的历史使用记录为各界面分配内存。因为一般一台机器人会长时间的在一种具体的环境下使用,所以基本使用方式使用习惯是不会有变化的,在对示教器的界面历史使用记录进行分析之后,示教器可以在进行机器人操作的时候动态的进行内存的规划,节省了示教器界面所需要的内存空间,避免了示教器卡顿的现象。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种示教器内存使用管理方法流程图;
图2为本发明实施例二提供的一种示教器内存使用管理方法流程图;
图3为本发明实施例三提供的一种示教器内存使用管理方法流程图;
图4为本发明实施例四提供的一种示教器内存使用管理方法流程图;
图5为本发明实施例五提供的一种示教器内存使用管理方法流程图;
图6为本发明实施例提供的一种示教器内存使用管理装置示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供一种示教器内存使用管理方法流程图,应用于示教器,使用qt或者wpf进行示教器开发的时候,每一个独立的界面用一个类来实现。如图1所示,该管理方法包括:
s101.获取示教器中各界面的历史使用记录;
s102.根据所述历史使用记录,为所述示教器内的各界面分配内存。
本发明实施例提出的一种示教器内存使用管理方法,通过获取示教器内各界面的历史使用记录,根据各界面的历史使用记录为各界面分配内存。因为一般一台机器人会长时间的在一种具体的环境下使用,所以基本使用方式使用习惯是不会有变化的,在对示教器的界面历史使用记录进行分析之后,示教器可以在进行机器人操作的时候动态的进行内存的规划,节省了示教器界面所需要的内存空间,避免了示教器卡顿的现象。
实施例二
图2为本申请实施例提供的一种示教器内存使用管理方法流程图,如图2所示,该管理方法包括:
s201.获取在历史使用过程中示教器开机之后每一个界面作为第一个被打开的界面的次数;
具体的,在本申请实施例中,s201之前还包括对示教器中的每一个界面进行编号,如0、1、2、3、4等等;
s202.根据示教器的历史使用记录,在开机的时候,对首次被使用的每一个界面的概率进行计算,并将该概率作为界面的首开概率,如示教器一共开机1000次,0界面作为首个被打开的界面次数是100,那么0界面的首开概率是10%;
s203.把首开概率大于第一阈值的界面进行初始化分配内存,其余首开概率不大于第一阈值的界面在开机时不进行操作。
第一阈值为根据具体情况设定的值,例如可以为15%。
在本申请实施例中,根据示教器各界面的历史使用记录,确定是否在开机时对各界面分配内存,对首开概率低于第一阈值的界面不分配内存,避免了开机时对全部界面均分配内存造成的内存占用过大,造成的示教器卡顿等问题。
实施例三
图3为本申请实施例提供的一种示教器内存使用管理方法流程图,如图3所示,该管理方法包括:
s301.获取在历史使用过程中示教器切换界面时每一个具体的界面之后被用户点开的其他界面的对应关系与次数;
具体的,在本申请实施例中,s301之前还包括对示教器中的每一个界面进行编号,如0、1、2、3、4等等;
s302.在示教器的使用的过程中,每次打开一个界面,都进行下一个会出现的界面的概率计算,并将该概率作为切换概率;
例如1界面一共打开过1000次,从1界面切换到2界面的次数是200,那么从1界面切换到2界面的切换概率为20%;
s303.在用户进行操作的时候对下一个出现概率大于第二阈值的界面进行初始化分配内存,其余切换概率不大于第二阈值的界面不进行操作。
第二阈值为根据具体情况设定的值,例如可以为15%。
在本申请实施例中,根据示教器中各界面的历史使用记录,计算各界面的切换概率,在示教器的使用过程中,根据各界面的切换概率,自动为下一个可能开启的界面(切换概率大于第二阈值的界面)分配内存,对其余界面不分配内存,使得示教器反应更灵敏,且避免了对全部界面均分配内存造成的内存占用过大,造成的示教器卡顿等问题。
实施例四
图4为本申请实施例提供的一种示教器内存使用管理方法流程图,如图4所示,该管理方法包括:
s401.获取示教器在历史使用过程中每个界面被打开的总次数;
具体的,在本申请实施例中,s401之前还包括对示教器中的每一个界面进行编号,如0、1、2、3、4等等;
s402.在示教器的使用的过程中,在每一个界面被切换关闭后计算总共的使用过程中该被切换的界面出现的概率,并将该概率作为使用概率;
例如示教器的使用过程中所有界面总共打开了1000次,其中1界面打开了200次,那么1界面的使用概率为20%;
s403.如果该被切换的界面的使用概率小于第三阈值,则该被切换的界面切换之后直接对它进行内存释放。
第三阈值为根据具体情况设定的值,例如可以为5%。
在本申请实施例中,根据示教器各界面的历史使用记录,计算各界面的使用概率,在每个界面被切换后,若其使用概率低于第三阈值则释放该界面的内存,减少了内存占用,避免了示教器卡顿。
实施例五
图5为本申请实施例提供的一种示教器内存使用管理方法流程图,如图5所示,该管理方法包括:
s501.记录在历史使用过程中示教器开机之后每一个界面作为第一个被打开的界面的次数、使用的过程中每个界面被打开的总次数和使用过程中切换界面时每一个具体的界面之后被用户点开的界面的对应关系与次数;
具体的,在本申请实施例中,s501之前还包括对示教器中的每一个界面进行编号,如0、1、2、3、4等等;
s502.根据示教器的历史使用记录,在开机的时候,对首次被使用的每一个界面的概率进行计算,并将该概率作为界面的首开概率,把首开概率大于第一阈值的界面进行初始化分配内存,其余首开概率不大于第一阈值的界面在开机时不进行操作;
例如示教器一共开机1000次,0界面作为首个被打开的界面次数是100,那么0界面的首开概率是10%;第一阈值为根据具体情况设定的值,例如可以为15%。
s503.在示教器的使用的过程中,每次打开一个界面,都进行下一个会出现的界面的概率计算,并将该概率作为切换概率,在用户进行操作的时候对下一个出现概率大于第二阈值的界面进行初始化分配内存,其余切换概率不大于第二阈值的界面不进行操作;
例如1界面一共打开过1000次,从1界面切换到2界面的次数是200,那么从1界面切换到2界面的切换概率为20%;第二阈值为根据具体情况设定的值,例如可以为15%,
s504.在示教器的使用的过程中,在每一个界面被切换关闭后计算总共的使用过程中该被切换的界面出现的概率,并将该概率作为使用概率,如果该被切换的界面的使用概率小于第三阈值,则该被切换的界面切换之后直接对它进行内存释放;
例如示教器的使用过程中所有界面总共打开了1000次,其中1界面打开了200次,那么1界面的使用概率为20%;第三阈值为根据具体情况设定的值,例如可以为5%。
本发明实施例提出的一种示教器内存使用管理方法,通过获取示教器内各界面的历史使用记录,根据各界面的历史使用记录为各界面分配内存。因为一般一台机器人会长时间的在一种具体的环境下使用,所以基本使用方式使用习惯是不会有变化的,在对示教器的界面历史使用记录进行分析之后,示教器可以在进行机器人操作的时候动态的进行内存的规划,节省了示教器界面所需要的内存空间,避免了示教器卡顿的现象。
基于相同的发明构思,本发明实施例还提供一种用于实现上述方法的示教器内存使用管理装置,所述装置如图6所示,包括:
获取模块,用于获取示教器中各界面的历史使用记录;
内存分配模块,用于根据所述历史使用记录,为所述示教器内的各界面分配内存。
所述内存分配模块可以包括:
第一次数统计单元,用于根据所述历史使用记录,确定每个界面作为第一个被打开的界面的次数;
首开概率计算单元,用于用每个界面作为示教器开机后第一个被打开的界面的次数分别除以所述历史使用记录中记录的总开机次数,得到每个界面作为第一个被打开的界面的首开概率;
第一分配单元,用于在所述示教器开机时,为所述首开概率大于第一阈值的界面分配内存。
所述内存分配模块可以包括:
第二次数统计单元,用于根据所述历史使用记录,确定在每个界面打开后其他界面作为下一个被打开的界面的次数;
切换概率计算单元,用于用任意一个界面打开后其他界面作为下一个被打开的界面的次数分别除以所述历史使用记录中记录的所述任意一个界面的打开总次数,得到所述任意一个界面打开后其他界面作为下一个被打开的界面的切换概率;
第二分配单元,用于当所述任意一个界面被打开后,为所述切换概率大于第二阈值的其他界面分配内存。
所述内存分配模块可以包括:
第三统计单元,用于根据所述历史使用记录,确定每个界面使用的总次数;
使用概率计算单元,用于用每个界面使用的总次数分别除以所述历史使用记录中记录的所有界面打开的总次数,分别得到每个界面的使用概率;
内存释放单元,用于当一个界面被切换后,若被切换的界面对应的使用概率小于第三阈值,则释放所述被切换的界面的内存。
本发明实施例提供一种终端,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器;
其中,所述处理器用于运行所述计算机程序时,执行下述方法:
获取示教器中各界面的历史使用记录;
根据所述历史使用记录,为所述示教器内的各界面分配内存。
本发明实施例还提供一种存储介质,所述存储介质存储计算机指令,所述计算机指令使计算机执行下述方法:
获取示教器中各界面的历史使用记录;
根据所述历史使用记录,为所述示教器内的各界面分配内存。
现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
终端可以以各种形式来实施。例如,本发明中描述的终端可以包括笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、导航装置、示教器等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明各个实施例所述的方法可借助界面加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以界面产品的形式体现出来,该计算机界面产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法或者实施例的某些部分所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。