CN110543384A - 内存的回写方法、装置、终端及存储介质 - Google Patents
内存的回写方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN110543384A CN110543384A CN201910839262.XA CN201910839262A CN110543384A CN 110543384 A CN110543384 A CN 110543384A CN 201910839262 A CN201910839262 A CN 201910839262A CN 110543384 A CN110543384 A CN 110543384A
- Authority
- CN
- China
- Prior art keywords
- application
- write
- memory
- target process
- foreground
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1492—Generic software techniques for error detection or fault masking by run-time replication performed by the application software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例公开了一种内存的回写方法、装置、终端及存储介质,属于计算机技术领域。本申请实施例能够在目标进程发起回写请求时,检测外存储器是否发生写入拥塞,在外存储器发生写入拥塞时,检测所述目标进程是否属于前台应用,当目标进程属于所述前台进程时,通过所述目标进程将所述目标数据回写到所述外存储器中。因此,本申请能够在目标进程属于前台应用时,将目标数据直接回写到外存储器中,而无需按照标准的机制等待指定的时长再次检测是否可以回写到外存储器中,保证了前台应用及时获取足够的内存空间,从而降低了前台应用发生卡顿的可能性,提高了前台应用运行流畅性。
Description
技术领域
本申请实施例涉及计算机技术领域,特别涉及一种内存的回写方法、装置、终端及存储介质。
背景技术
终端作为处理信息的设备,能够由处理器处理数据并由存储器存储数据,在处理器和存储器的配合下,终端能够实现应用或者用户指定的功能。
相关技术中,当一个应用需要运行时,该应用需要在内存中申请指定大小的内存空间。当内存无法提供给指定大小的内存空间时,内存需要将占用内存空间的部分数据回写到外存储器中,以为应用腾出指定大小的内存空间。
发明内容
本申请实施例提供了一种内存的回写方法、装置、终端及存储介质。所述技术方案如下:
根据本申请的一方面内容,提供了一种内存的回写方法,所述方法包括:
当目标进程发起回写请求时,检测外存储器是否发生写入拥塞,所述目标进程用于将内存中的目标数据回写至外存储器,所述写入拥塞用于指示等待写入所述外存储器的请求数目大于预设阈值;
当所述外存储器发生所述写入拥塞时,检测所述目标进程是否属于前台应用;
当所述目标进程属于所述前台进程时,通过所述目标进程将所述目标数据回写到所述外存储器中。
根据本申请的另一方面内容,提供了一种内存的回写装置,所述装置包括:
拥塞检测模块,用于当目标进程发起回写请求时,检测外存储器是否发生写入拥塞,所述目标进程用于将内存中的目标数据回写至外存储器,所述写入拥塞用于指示等待写入所述外存储器的请求数目大于预设阈值;
前台检测模块,用于当所述外存储器发生所述写入拥塞时,检测所述目标进程是否属于前台应用;
数据回写模块,用于当所述目标进程属于所述前台进程时,通过所述目标进程将所述目标数据回写到所述外存储器中。
根据本申请的另一方面内容,提供了一种终端,所述终端包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如本申请实施提供的内存的回写方法。
根据本申请的另一方面内容,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如本申请实施提供的内存的回写方法。
本申请实施例提供的技术方案带来的有益效果可以包括:
由于本申请能够在目标进程发起回写请求时,检测外存储器是否发生写入拥塞,在外存储器发生写入拥塞时,检测所述目标进程是否属于前台应用,当目标进程属于所述前台进程时,通过所述目标进程将所述目标数据回写到所述外存储器中。因此,本申请能够在目标进程属于前台应用时,将目标数据直接回写到外存储器中,而无需按照标准的机制等待指定的时长再次检测是否可以回写到外存储器中,保证了前台应用及时获取足够的内存空间,从而降低了前台应用发生卡顿的可能性,提高了前台应用运行流畅性。
附图说明
为了更清楚地介绍本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本申请一个示例性实施例提供的一种终端的结构框图;
图2是本申请一个示例性实施例提供的一种内存的回写方法的流程图;
图3是本申请另一个示例性实施例提供的另一种内存的回写方法流程图;
图4是本申请一个示例性实施例提供的一种内存的回写装置的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
为了本申请实施例所示方案易于理解,下面对本申请实施例中出现的若干名词进行介绍。
目标进程:用于将内存中的目标数据回写至外存储器。需要说明的是,将目标数据回写至外存储器可以是目标进程的全部功能。在另一种可能的实施方式中,目标进程还可以包括其他的功能,本申请实施例对此不作限定。
写入拥塞:用于指终端的外存储器的一种状态,在该状态中有超过预设阈值的写入申请等待被处理。在一种可能的方式中,写入申请用于向外存储器申请写入数据,一条写入申请对应着指定数据量的数据。其中,预设阈值是操作系统或者程序开发人员预先设置的数值,当等待写入外存储器的写入申请的数目超过该预设阈值时,终端认为外存储器当前的写入申请过多,确认外存储器处于写入拥塞的状态。例如,当预设阈值为32时,也即在等待写入外存储器的请求数目超过32时,终端确认外存储器处于写入拥塞的状态。或者,当等待写入外存储器的请求数目达到32时,终端确认外存储器处于写入拥塞的状态。
在一种可能的实时方式中,终端可以为写入申请设置目标队列,该目标队列的容量可以设置为32。在该场景中,终端能够在该目标队列满时,确认外存储器处于写入拥塞的状态。
前台应用:在一种可能的方式中,该前台应用是终端中运行在前台的应用。
在一种前台应用可能的展示方式中,当终端具有显示组件时,前台应用可以是在显示组件中显示用户界面(英文;User Interface,缩写:UI)的应用。
可选地,当终端处于分屏显示的状态时,焦点窗口所述的应用是前台应用。
可选地,当终端具有多块显示屏或者多个显示组件,并且上述多块显示屏或者多个显示组件共用相同的内存和外存储器时,终端将主显示屏或者主显示组件中显示的用户界面所属的应用确定为前台应用。
可选地,终端能够通过沉浸式显示的方式展示画面。例如,该沉浸式显示的方式包括全屏显示、全息显示、虚拟现实(Virtual Reality,VR)显示、增强现实(AugmentedReality,AR)显示或混合现实(Mixed Reality,MR)显示中至少一种。在上述沉浸式显示的方式展示画面的应用中,终端对卡顿容忍度较低,若上述应用发生卡顿,则应用造成画面输出信息的下降,甚至由于关键信息的延迟输出,导致用户获取信息不及时或反馈延误,使得终端因错过需要及时获取的反馈而不能够及时执行相应的操作。
在另一种前台应用可能的展示方式中,当终端不具有显示组件时,前台应用可以是终端中运行优先级最高的进程对应的应用,该前台应用是低时延远程控制应用。需要说明的是,低时延远程控制应用是安装在终端上,通过网络接收远程操控信号,进而控制终端执行相应的操作的应用。需要说明的是,在终端中,运行优先级是操作系统为各个执行的进程赋予的优先级,终端能够根据该优先级确定前台应用。
在一种可能的方式中,低时延远程控制应用包括自动驾驶控制应用、工业机器人控制应用、智能物流车控制应用、无人机控制应用、远程医疗机器人控制应用或公共安全监控应用中至少一种。
示例性地,本申请实施例所示的内存的回写方法,可以应用在终端中,该终端具备显示屏且具备内存的回写功能。终端可以包括手机、平板电脑、工业机器人、智能物流车、无人机、医疗机器人、无人驾驶车辆、膝上型电脑、台式电脑、电脑一体机、服务器、工作站、电视、机顶盒、智能眼镜、智能手表、数码相机、MP4播放终端、MP5播放终端、学习机、点读机、电纸书、电子词典、车载终端、虚拟现实播放终端或增强现实播放终端等。
请参照图1,图1是本申请一个示例性实施例提供的一种终端的结构框图,如图1所示,该终端包括处理器120和存储器140,所述存储器140中存储有至少一条指令,所述指令由所述处理器120加载并执行以实现如本申请各个方法实施例所述的内存的回写方法。可选地,终端100还可以包括显示组件。显示组件用于显示终端中的应用的用户界面和其它需要显示的信息。
在本申请中,终端100是具备数据回写功能的电子设备。当终端100中的目标进程发起回写请求时,终端100能够检测外存储器是否发生写入拥塞,当外存储器发生写入拥塞时,检测目标进程是否属于前台应用,当目标进程属于前台进程时,通过目标进程将目标数据回写到外存储器中。其中,目标进程用于将内存中的目标数据回写至外存储器中,写入拥塞用于指示等待写入外存储器的请求数目大于预设阈值。
处理器120可以包括一个或者多个处理核心。处理器120利用各种接口和线路连接整个终端100内的各个部分,通过运行或执行存储在存储器140内的指令、程序、代码集或指令集,以及调用存储在存储器140内的数据,执行终端100的各种功能和处理数据。可选的,处理器120可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器120可集成中央处理器(CentralProcessing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器120中,单独通过一块芯片进行实现。
存储器140可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器140包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器140可用于存储指令、程序、代码、代码集或指令集。存储器140可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现下述各个方法实施例的指令等;存储数据区可存储下面各个方法实施例中涉及到的数据等。
需要说明的是,存储器140可以包括内存141和外存储器142。当内存141中的空间小于前台应用申请的内存空间时,终端将内存141中的部分数据回写到外存储器142中,以保证前台应用有足够的内存空间来运行。
请参考图2,图2是本申请一个示例性实施例提供的一种内存的回写方法的流程图。该内存的回写方法可以应用在上述所示的终端中。在图2中,内存的回写方法包括:
步骤210,当目标进程发起回写请求时,检测外存储器是否发生写入拥塞,目标进程用于将内存中的目标数据回写至外存储器,写入拥塞用于指示等待写入外存储器的请求数目大于预设阈值。
在本申请实施例中,终端能够在目标进程发起回写请求时,对外存储器进行检测,检测该外存储器是否发生写入拥塞。需要说明的是,当终端中的内存空间能够满足目标应用申请的内存空间时,终端可以不进行回写请求。
在一种可能的方式中,当终端剩余的内存空间无法满足目标应用申请的内存空间时,终端将可以采用多种方式为目标应用腾出可供使用的内存空间。
可选地,终端可以通过目标进程发起回写请求,将内存中的目标数据回写到外存储器中。
可选地,终端也可以通过后台的内存回收服务发起回写请求,将内存中的目标数据回写到外存储器中。
步骤220,当外存储器发生写入拥塞时,检测目标进程是否属于前台应用。
在本申请实施例中,终端能够在外存储器发生写入拥塞时,继续检测目标进程的归属关系,确定该目标进程是否属于前台应用。
在一种判断外存储器是否发生写入拥塞的方法中,终端能够访问目标队列,该目标队列中存储着等待写入外存储器的请求。需要说明的是,该目标队列具有指定的容量,比如32。当该目标队列满队时(也即目标队列中已经存在32个申请写入外存储器的请求),终端将确认外存储器发生写入拥塞。
需要说明的是,目标队列中不仅存储着用于回写至外存储器的目标数据的请求,也存储着处理器指示的直接写入外存储器的数据的请求。
步骤230,当目标进程属于前台进程时,通过目标进程将目标数据回写到外存储器中。
在本申请实施例中,终端将在目标进程属于前台进程时,通过目标进程将目标数据回写到外存储器中。需要说明的是,该操作是即刻相应的操作,当目标进程属于前台进程时,终端将立即指令目标进程将目标数据回写到外存储器中。
在一种可能的实现方式中,终端可以在将目标进程的执行顺序置于目标队列所有的写入请求之前,以实现快速完成通过目标进程将目标数据回写到外存储器的操作。
相应地,当目标进程不属于前台进程时,终端控制该目标进程等待预设的等待时长后,再次发起回写请求。可选地,等待时长可以是50毫秒、80毫秒或者100毫秒等数值,也可以是其它常数值,本申请实施例对此不作限定。
综上所述,本实施例提供的内存的回写方法,能够在目标进程发起回写请求时,检测外存储器是否发生写入拥塞,在外存储器发生写入拥塞时,检测所述目标进程是否属于前台应用,当目标进程属于所述前台进程时,通过所述目标进程将所述目标数据回写到所述外存储器中。因此,本申请能够在目标进程属于前台应用时,将目标数据直接回写到外存储器中,而无需按照标准的机制等待指定的时长再次检测是否可以回写到外存储器中,保证了前台应用及时获取足够的内存空间,从而降低了前台应用发生卡顿的可能性,提高了前台应用运行流畅性。
基于上一个实施例所公开的方案,终端还能够在终端针对前台应用启用性能优化时,执行本申请提供的内存的回写方法,详情请参考如下实施例。
请参见图3,图3是本申请另一个示例性实施例提供另一种的内存的回写方法流程图。该内存的回写方法可以应用在上述图1所示的终端中。在图3中,该内存的回写方法包括:
步骤311,终端获取系统分配给前台应用的内存空间。
在本申请实施例中,终端能够获取系统分配给前台应用的内存空间。需要说明的是,该内存空间既可以是系统按照与前台应用预先的约定给出的内存空间,可以是当前前台应用运行时,实时发出的内存空间的请求而分配的内存空间。
步骤312,终端判断系统分配给前台应用的内存空间是否不足。
在本申请实施例中,终端在获取到系统分配给前台应用的内存空间后,终端能够对该内存空间的容量进行判断。在一种可能的场景中,当前台应用所需的内存空间不足时,该前台应用将向系统发出申请内存空间的请求。在该场景中,若终端检测到前台应用发出的申请内存空间的请求时,终端确定分配给前台应用的内存空间不足。
在另一种可能的场景中,终端能够实时监控前台应用的运行参数,当前台应用的运行参数与预设的运行参数不对应时,或者,运行参数与预设的运行参数偏差较大时,终端确定系统分配给前台应用的内存空间不足。需要说明的是,运行参数可以包括帧率、CPU占用核数、CPU占用的核心的标识或CPU占用率中至少一种。例如,当预设的运行参数是帧率且为50帧时,若前台运行参数持续低于50帧的时长超过5秒,则终端判断系统分配给前台应用的内存空间不足。
步骤313,当系统分配给前台应用的内存空间不足时,终端通过目标进程发起回写请求。
在本申请实施例中,终端在系统分配给前台应用的内存空间不足时,终端将通过目标进程发起回写请求。需要说明的是,该目标进程可以是终端专门为将目标数据回写至外存储器而调用的进程,或者,该目标进程也可以是终端的一个系统进程,具有将目标数据回写至外存储器的功能。
步骤320,当目标进程发起回写请求时,检测外存储器是否发生写入拥塞。
步骤320的执行过程和步骤210的执行过程相同,此处不再赘述。
步骤331,接收触发信号。
在本申请实施例中,终端能够接收触发信号,该触发信号是优化控件被触发时生成的信号。
在一种可能的实现方式中,终端接收的触发信号是优化控件被触发时生成的信号。需要说明的是,该优化控件可以是终端中悬浮在其它用户界面的上层的浮标,当该浮标被用户点击触发时,终端将生成触发信号,该触发信号由处理器接收。
可选地,该优化控件还可以是系统的用户界面中的控件。例如,设置在通知栏中的控件、设置在桌面中的控件、设置在导航栏中的控件、设置在设置用户界面中的控件或设置在负一屏中的控件,本申请实施例对此不作限定。
可选地,该优化控件还可以是第三方应用的用户界面中的控件。该第三方应用既可以是前台应用,也可以是后台应用。在一种可能的方式中,优化控件可以显示在第三方应用的主界面中,或者,发控件也可以显示在第三方应用的次级用户界面中,或者,发控件也可以显示在第三方应用的导航栏等区域,本申请实施例对此不作限定。
在另一种可能的实现方式中,优化控件可以不存在可视化对象与之对应,该优化控件的触发方式可以是语音指令触发、指定手势触发或者指定动作触发。
可选地,当该优化控件的触发方式是语音指令触发时,终端能够通过麦克风收集周围的语音指令,当收集到的语音指令与触发优化控件的语音指令模版匹配时,该优化控件将被触发并生成触发信号。
可选地,当该优化控件的触发方式是指定手势触发时,终端能够在显示屏中持续监测是否出现指定滑动轨迹或者指定触摸方式的手势。当终端中出现指定滑动轨迹或者指定触摸方式的手势时,该优化控件将被触发并生成触发信号。
可选地,当该优化控件的触发方式是指定动作触发时,终端能够通过内置的摄像头摆出指定的手指或者肢体动作,当终端采集到的动作与动作模版匹配时,该优化控件将被触发并生成触发信号。
步骤332,根据触发信号,启动性能优化服务。
在本申请实施例中,性能优化服务是用于优化预设名单内的应用的服务。需要说明的是,当该优化控件被触发后,终端根据触发信号,启动性能优化服务,该性能优化服务能够执行提升帧率、提升内存空间和设置CPU优先使用权限等,本申请实施例对此不作限定。
需要说明的是,本申请中的步骤331和步骤332的执行过程可以在步骤320之前的任意一个步骤前执行,或者,与步骤320之前的任意一个步骤并行执行,本申请实施例对此不作限定。
在本申请实施例中,当终端执行完成步骤332,终端可以先判断前台应用是否是预设名单内的应用,当前台应用是预设名单内的应用时,终端既可以通过性能优化服务选择执行步骤341,终端也可以通过性能优化服务选择执行步骤342,本申请实施例对此不作限定。
步骤341,当外存储器发生写入拥塞时,检测目标进程对应的安装包名和前台应用的安装包名是否相同。
在本申请实施例中,当终端中的外存储器发生写入拥塞时,终端将检测目标进程对应的安装包名和前台应用的安装包名是否相同。在该检测场景中,终端能够获取目标进程所归属的应用,随后确定该应用的安装包名。当终端确定该应用的安装包名后,终端即可比较该应用的安装包名与前台应用的安装包名是否相同。
相应的,当目标进程对应的安装包名和前台应用的安装包名相同时,终端确定目标进程属于前台应用。
步骤342,当外存储器发生写入拥塞时,检测目标进程的唯一标识符uid(英文:unique identifier)和前台应用中的进程的uid是否相同。
在本申请实施例中,当终端安装应用并执行应用中的各个进程时,终端可以为应用以及各个进程生成一个唯一标识符uid。在本申请实施例中,终端可以比较目标进程的uid和前台应用中的进程的uid。
在一种可能的实现方式中,前台应用可以仅包括一个逻辑进程。在该实现方式中,终端可以通过比较该逻辑进程的uid和目标进程的uid是否相同,来确定目标进程是否属于前台应用。当该逻辑进程的uid和目标进程的uid相同时,目标进程属于前台应用。当该逻辑进程的uid和目标进程的uid不同时,目标进程不属于前台应用。
在另一种可能的实现方式中,前台应用可以包括多个进程。例如,前台应用可以包括逻辑进程、渲染进程、资源回收进程和附加功能进程等。若前台应用包括逻辑进程、渲染进程、资源回收进程和附加功能调用进程,则前台应用包括的uid实质上包括上述4个进程各自对应的uid。
请参见表一,其示出了一种进程和uid之间的对应关系。
表一
进程名称 | 逻辑进程 | 渲染进程 | 资源回收进程 | 附加功能进程 |
uid | 10242048 | 10242049 | 10242050 | 10242051 |
基于表一所示的数据,目标进程的uid是10242048、10242049、10242050和10242051中的任意一个时,目标进程属于前台应用。例如,当目标进程的uid是10242050,也即目标进程是前台应用中的资源回收进程,属于前台应用。当目标进程的uid不属于上述列出的uid中的任意一个时,终端将确认目标进程属于前台应用。
步骤350,当目标进程属于前台进程时,通过目标进程将目标数据回写到外存储器中。
步骤350的执行过程和步骤230的执行过程相同,此处不再赘述。
需要说明的是,在本申请的一种可能的应用方式中,前台应用是在终端中通过沉浸式显示的方式展示画面的前台应用。需要说明的是,当前台应用通过沉浸式显示的方式展示画面时,若前台应用发生卡顿或者显示内容不清晰,将导致观看沉浸式显示内容的用户明显地感知到该显示缺陷。
在需要用户及时作出反馈的操作场景中,该显示缺陷可能导致较为严重的后果。因此,在前台应用通过沉浸式显示的方式展示画面时,终端将执行本申请提供的内存回写的方法,令终端优先且及时地为前台应用提供充足的内存空间,减免前台应用可能因为内存不足导致的卡顿、花屏、重影或者黑屏等显示问题。需要说明的是,在沉浸式显示的方式中,用户可以通过该显示方式进行沉浸式游戏、遥控交通工具的操作、远程医疗设备的操作或者遥控机器人的全息操作等。可见,在上述场景中若出现显示缺陷,极有可能造成用户的反馈延迟或者无法反馈的情况,从而导致遥控的设备无法及时作出正确的操作,导致严重的后果。
在另一种可能的应用方式中,前台应用是是终端中运行优先级最高的进程对应的应用,该前台应用是低时延远程控制应用。在一种可能的方式中,该前台应用对收发数据包的时延有具体的时延指标。
例如,前台应用发送数据包成功的时延需要小于第一时延阈值,接收数据包成功的时延需要小于第二时延阈值。其中,第一时延阈值可以是1毫秒、2毫秒或者5毫秒等常数值,第一时延阈值可以是0.5毫秒、0.8毫秒或者1毫秒等常数值。本申请实施例对第一时延阈值和第二时延阈值的具体数值仅做示例性说明,并不对其具体的内容进行限制。
在本应用方式中,终端可以是物联网设备。在一种可能的终端的实现方式中,可以是物联网设备的被控端。终端对应的控制端可以是手机、平板电脑、VR眼镜、AR眼镜、MR眼镜、全息头盔、沉浸式操作仓或者远程操控主机等至少一种设备。终端可以是业机器人、智能物流车、无人机、医疗机器人或无人驾驶车辆中的至少一种设备。
从本应用方式中可以获知,当前台应用是终端中运行优先级最高的进程对应的应用,且前台应用是低时延远程控制应用时,前台应用将无法允许不能及时收发数据包,也即获取内存的速度需要及时快速,不能出现无法及时获取内存空间的情况的发生。同时,又由于物联网设备进行大量向外存储器写入数据的操作也是场景的数据备份场景,因此本申请能够令物联网设备在不暂停其工作的前提进行数据的备份,提高了物联网设备的性能。可见,本申请提供的方法还能够令低时延远程控制应用及时获取内存空间,满足其应用的运行需要。
综上所述,本实施例能够在优化控件被触发生成的触发信号,启动性能优化服务,在前台应用是性能优化服务预设名单内的应用时,该性能优化服务将检测目标进程是否属于前台应用,并在目标进程属于前台应用时,通过目标进程将目标数据回写到外存储器中,实现为前台应用及时提供足够的内存空间,从而降低了前台应用发生卡顿的可能性,提高了前台应用运行流畅性。同时,也避免了终端持续打断系统原生的拥塞流程,实现精准为指定应用提供及时的内存空间的效果,提高了系统优化应用的针对性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图4,图4是本申请一个示例性实施例提供的一种内存的回写装置的结构框图。该内存的回写装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置包括:
拥塞检测模块410,用于当目标进程发起回写请求时,检测外存储器是否发生写入拥塞,所述目标进程用于将内存中的目标数据回写至外存储器,所述写入拥塞用于指示等待写入所述外存储器的请求数目大于预设阈值;
前台检测模块420,用于当所述外存储器发生所述写入拥塞时,检测所述目标进程是否属于前台应用;
数据回写模块430,用于当所述目标进程属于所述前台进程时,通过所述目标进程将所述目标数据回写到所述外存储器中。
在一个可选的实施例中,所述装置前台检测模块420,用于当所述外存储器发生所述写入拥塞时,检测所述目标进程对应的安装包名和所述前台应用的安装包名是否相同;或,当所述外存储器发生所述写入拥塞时,检测所述目标进程的唯一标识符uid和所述前台应用中的进程的uid是否相同。
在一个可选的实施例中,所述装置还包括信号接收模块和服务启动模块,所述信号接收模块,用于接收触发信号,所述触发信号是优化控件被触发时生成的信号;所述服务启动模块,用于根据所述触发信号,启动性能优化服务,所述性能优化服务是用于优化预设名单内的应用的服务;所述前台检测模块420,用于当所述前台应用是所述预设名单内的应用且所述外存储器发生所述写入拥塞时,通过所述目标进程将所述目标数据回写到所述外存储器中。
在一个可选的实施例中,所述装置中涉及的前台应用是在终端中通过沉浸式显示的方式展示画面的前台应用。
在一个可选的实施例中,所述装置涉及的沉浸式显示的方式包括全屏显示、全息显示、虚拟现实显示、增强现实显示或混合现实显示中至少一种。
在一个可选的实施例中,所述装置中涉及的所述前台应用是终端中运行优先级最高的进程对应的应用,所述前台应用是低时延远程控制应用。
在一个可选的实施例中,所述低时延远程控制应用包括自动驾驶控制应用、工业机器人控制应用、智能物流车控制应用、无人机控制应用、远程医疗机器人控制应用或公共安全监控应用中至少一种。
本装置实施例介绍的内容中的相应的执行过程和解释已在方法实施例中列出,详情请参见方法实施例的介绍,本处不再赘述。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的内存的回写方法。
需要说明的是:上述实施例提供的内存的回写装置在执行内存的回写方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的内存的回写装置与内存的回写方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的能够实现的示例性的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种内存的回写方法,其特征在于,所述方法包括:
当目标进程发起回写请求时,检测外存储器是否发生写入拥塞,所述目标进程用于将内存中的目标数据回写至所述外存储器,所述写入拥塞用于指示等待写入所述外存储器的请求数目大于预设阈值;
当所述外存储器发生所述写入拥塞时,检测所述目标进程是否属于前台应用;
当所述目标进程属于所述前台进程时,通过所述目标进程将所述目标数据回写到所述外存储器中。
2.根据权利要求1所述的方法,其特征在于,所述当所述外存储器发生所述写入拥塞时,检测所述目标进程是否属于前台应用,包括:
当所述外存储器发生所述写入拥塞时,检测所述目标进程对应的安装包名和所述前台应用的安装包名是否相同;
或,
当所述外存储器发生所述写入拥塞时,检测所述目标进程的唯一标识符uid和所述前台应用中的进程的uid是否相同。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
接收触发信号,所述触发信号是优化控件被触发时生成的信号;
根据所述触发信号,启动性能优化服务,所述性能优化服务是用于优化预设名单内的应用的服务;
当所述前台应用是所述预设名单内的应用时,通过所述性能优化服务执行检测所述目标进程是否属于前台应用的步骤。
4.根据权利要求3所述的方法,其特征在于,所述前台应用是在终端中通过沉浸式显示的方式展示画面的前台应用。
5.根据权利要求4所述的方法,其特征在于,所述沉浸式显示的方式包括全屏显示、全息显示、虚拟现实显示、增强现实显示或混合现实显示中至少一种。
6.根据权利要求2所述的方法,其特征在于,所述前台应用是终端中运行优先级最高的进程对应的应用,所述前台应用是低时延远程控制应用。
7.根据权利要求6所述的方法,其特征在于,所述低时延远程控制应用包括自动驾驶控制应用、工业机器人控制应用、智能物流车控制应用、无人机控制应用、远程医疗机器人控制应用或公共安全监控应用中至少一种。
8.一种内存的回写装置,其特征在于,所述装置包括:
拥塞检测模块,用于当目标进程发起回写请求时,检测外存储器是否发生写入拥塞,所述目标进程用于将内存中的目标数据回写至外存储器,所述写入拥塞用于指示等待写入所述外存储器的请求数目大于预设阈值;
前台检测模块,用于当所述外存储器发生所述写入拥塞时,检测所述目标进程是否属于前台应用;
数据回写模块,用于当所述目标进程属于所述前台进程时,通过所述目标进程将所述目标数据回写到所述外存储器中。
9.一种终端,其特征在于,所述终端包括处理器、和与所述处理器相连的存储器,以及存储在所述存储器上的程序指令,所述处理器执行所述程序指令时实现如权利要求1至7任一所述的内存的回写方法。
10.一种计算机可读存储介质,所述存储介质中存储有程序指令,其特征在于,所述程序指令被处理器执行时实现如权利要求1至7任一所述的内存的回写方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910839262.XA CN110543384B (zh) | 2019-09-05 | 2019-09-05 | 内存的回写方法、装置、终端及存储介质 |
PCT/CN2020/110887 WO2021043021A1 (zh) | 2019-09-05 | 2020-08-24 | 内存的回写方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910839262.XA CN110543384B (zh) | 2019-09-05 | 2019-09-05 | 内存的回写方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110543384A true CN110543384A (zh) | 2019-12-06 |
CN110543384B CN110543384B (zh) | 2022-05-17 |
Family
ID=68712726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910839262.XA Active CN110543384B (zh) | 2019-09-05 | 2019-09-05 | 内存的回写方法、装置、终端及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110543384B (zh) |
WO (1) | WO2021043021A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021043021A1 (zh) * | 2019-09-05 | 2021-03-11 | Oppo广东移动通信有限公司 | 内存的回写方法、装置、终端及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115442422A (zh) * | 2022-08-05 | 2022-12-06 | 广州小鹏汽车科技有限公司 | 服务提供方法、装置、车辆以及存储介质 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102203718A (zh) * | 2011-05-26 | 2011-09-28 | 华为技术有限公司 | 内存转储处理方法和装置及内存转储系统 |
CN102521159A (zh) * | 2011-12-16 | 2012-06-27 | 杭州初灵信息技术股份有限公司 | 一种片内、片外存储器按流量动态调度分包数据的方法 |
CN102541468A (zh) * | 2011-12-12 | 2012-07-04 | 华中科技大学 | 虚拟化环境下的脏数据回写系统 |
US20160092272A1 (en) * | 2014-09-30 | 2016-03-31 | Nimble Storage, Inc. | Congestion avoidance in network storage device using dynamic weights |
CN106547640A (zh) * | 2016-11-23 | 2017-03-29 | 深圳市金立通信设备有限公司 | 一种后台清理的方法及终端 |
US20170372452A1 (en) * | 2016-06-22 | 2017-12-28 | Qualcomm Incorporated | Image rotation method and apparatus |
CN107728939A (zh) * | 2017-09-26 | 2018-02-23 | 郑州云海信息技术有限公司 | 基于Linux的IO调度方法、装置、设备及存储介质 |
CN108228339A (zh) * | 2017-07-28 | 2018-06-29 | 珠海市魅族科技有限公司 | 一种内存回收方法及装置、终端设备及计算机可读存储介质 |
CN108228343A (zh) * | 2017-08-21 | 2018-06-29 | 珠海市魅族科技有限公司 | 内存回收方法及装置、计算机装置及计算机可读存储介质 |
CN108268219A (zh) * | 2018-02-01 | 2018-07-10 | 杭州宏杉科技股份有限公司 | 一种处理io请求的方法及装置 |
CN108958911A (zh) * | 2018-05-30 | 2018-12-07 | 北京小米移动软件有限公司 | 进程的控制方法及装置 |
CN109857555A (zh) * | 2019-01-15 | 2019-06-07 | Oppo广东移动通信有限公司 | 内存回收方法及装置、存储介质和电子设备 |
CN109857556A (zh) * | 2019-01-15 | 2019-06-07 | Oppo广东移动通信有限公司 | 内存回收方法及装置、存储介质和电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854307B (zh) * | 2010-06-09 | 2013-01-23 | 中国人民解放军国防科学技术大学 | 容延网络中网络节点存储器拥塞的处理方法 |
US10225761B2 (en) * | 2014-11-06 | 2019-03-05 | At&T Intellectual Property I, L.P. | Enhanced network congestion application programming interface |
CN109471603A (zh) * | 2017-09-07 | 2019-03-15 | 华为终端(东莞)有限公司 | 一种界面显示方法及装置 |
CN110543384B (zh) * | 2019-09-05 | 2022-05-17 | Oppo广东移动通信有限公司 | 内存的回写方法、装置、终端及存储介质 |
-
2019
- 2019-09-05 CN CN201910839262.XA patent/CN110543384B/zh active Active
-
2020
- 2020-08-24 WO PCT/CN2020/110887 patent/WO2021043021A1/zh active Application Filing
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102203718A (zh) * | 2011-05-26 | 2011-09-28 | 华为技术有限公司 | 内存转储处理方法和装置及内存转储系统 |
CN102541468A (zh) * | 2011-12-12 | 2012-07-04 | 华中科技大学 | 虚拟化环境下的脏数据回写系统 |
CN102521159A (zh) * | 2011-12-16 | 2012-06-27 | 杭州初灵信息技术股份有限公司 | 一种片内、片外存储器按流量动态调度分包数据的方法 |
US20160092272A1 (en) * | 2014-09-30 | 2016-03-31 | Nimble Storage, Inc. | Congestion avoidance in network storage device using dynamic weights |
US20170372452A1 (en) * | 2016-06-22 | 2017-12-28 | Qualcomm Incorporated | Image rotation method and apparatus |
CN106547640A (zh) * | 2016-11-23 | 2017-03-29 | 深圳市金立通信设备有限公司 | 一种后台清理的方法及终端 |
CN108228339A (zh) * | 2017-07-28 | 2018-06-29 | 珠海市魅族科技有限公司 | 一种内存回收方法及装置、终端设备及计算机可读存储介质 |
CN108228343A (zh) * | 2017-08-21 | 2018-06-29 | 珠海市魅族科技有限公司 | 内存回收方法及装置、计算机装置及计算机可读存储介质 |
CN107728939A (zh) * | 2017-09-26 | 2018-02-23 | 郑州云海信息技术有限公司 | 基于Linux的IO调度方法、装置、设备及存储介质 |
CN108268219A (zh) * | 2018-02-01 | 2018-07-10 | 杭州宏杉科技股份有限公司 | 一种处理io请求的方法及装置 |
CN108958911A (zh) * | 2018-05-30 | 2018-12-07 | 北京小米移动软件有限公司 | 进程的控制方法及装置 |
CN109857555A (zh) * | 2019-01-15 | 2019-06-07 | Oppo广东移动通信有限公司 | 内存回收方法及装置、存储介质和电子设备 |
CN109857556A (zh) * | 2019-01-15 | 2019-06-07 | Oppo广东移动通信有限公司 | 内存回收方法及装置、存储介质和电子设备 |
Non-Patent Citations (3)
Title |
---|
K. NAKANO等: "The Random Address Shift to Reduce the Memory Access Congestion on the Discrete Memory Machine", 《2013 FIRST INTERNATIONAL SYMPOSIUM ON COMPUTING AND NETWORKING》 * |
吴纪锋等: "基于页面优先级策略的文件回写机制研究", 《小型微型计算机系统》 * |
赵姗等: "性能非对称多核处理器下异构感知调度技术", 《软件学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021043021A1 (zh) * | 2019-09-05 | 2021-03-11 | Oppo广东移动通信有限公司 | 内存的回写方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110543384B (zh) | 2022-05-17 |
WO2021043021A1 (zh) | 2021-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763012B (zh) | 卡顿信息获取方法、装置及终端 | |
CN109240576B (zh) | 游戏中的图像处理方法及装置、电子设备、存储介质 | |
US10552644B2 (en) | Method and apparatus for displaying information content | |
EP2763034B1 (en) | Method and device for image-capturing application screen for use in mobile terminal | |
US20220053068A1 (en) | Methods, apparatuses and computer storage media for applet state synchronization | |
EP3040804B1 (en) | Electronic device for controlling power and method therefor | |
EP3554034A1 (en) | Method and device for authenticating login | |
EP3133481B1 (en) | Terminal device display method and terminal device | |
US11175823B2 (en) | Method and apparatus for controlling terminal device using gesture control function, and non-transitory computer-readable storage medium | |
CN113032080B (zh) | 页面实现方法、应用程序、电子设备及存储介质 | |
CN110543384B (zh) | 内存的回写方法、装置、终端及存储介质 | |
CN110362288B (zh) | 一种同屏控制方法、装置、设备及存储介质 | |
CN102404633B (zh) | 一种监控装置、智能电视系统及电视机 | |
CN110837420B (zh) | 资源调度方法、装置、终端及存储介质 | |
CN114341784A (zh) | 触摸事件的处理方法、装置、移动终端及存储介质 | |
CN113655975B (zh) | 图像显示方法、装置、电子设备和介质 | |
EP3671627A1 (en) | Image processing method and device | |
US20180365081A1 (en) | Method for Application Action Synchronization, Terminal Device, and Storage Medium | |
CN112379963B (zh) | 远程应用窗口控制方法、装置及计算机设备 | |
CN111124668A (zh) | 内存释放方法、装置、存储介质及终端 | |
CN107835984B (zh) | 热减轻用户体验 | |
CN113784049A (zh) | 安卓系统虚拟机的摄像头调用方法、电子设备和存储介质 | |
CN109246468B (zh) | 一种基于教育系统的视频列表切换方法、设备及存储介质 | |
WO2020124454A1 (zh) | 字体切换方法及相关产品 | |
CN107729136B (zh) | 一种基于fpga的处理优先级配置方法及装置 |
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 |