【技术实现步骤摘要】
一种内存管理方法、装置、存储介质及终端设备
本申请实施例涉及计算机数据存储
,尤其涉及一种内存管理方法、装置、存储介质及终端设备。
技术介绍
现有技术中,应用软件(Application,APP)的客户端会为用户提供界面访问功能,通常可以通过点击界面内的页面链接,而连续访问多级页面,且在点击返回按键时,逐级返回各级界面。当打开新页面时,通常会产生页面视图及其标识,视图的标识存储到导航管理堆栈中,以记录页面打开顺序,便于根据页面的返回操作而返回上一级页面。页面视图的脚本数据,会存储到内存管理对象的空间中,用于渲染生成页面供显示。内存管理对象存储的页面数据顺序与导航管理堆栈中存储的视图标识顺序一般是对应的。但是,当用户在客户端中不停打开新页面连续访问时,由于每个页面为一个视图,当视图深度超过20级时,视图所对应页面数据的连续堆叠会造成内存开销过大,从而导致客户端出现卡死甚至崩溃闪退等情况,导致用户无法进行操作甚至被迫退出客户端。为了规避此现象的出现,操作系统的内存管理机制会对内存管理对象中的页面数据有选择的进行销毁,从而控制页面数据的堆叠总数,保证客户端不会因为内存暴增导致卡死或者闪退。然而,当用户进行返回操作时,由于已访问过的视图的页面数据从内存管理对象中被有选择的销毁,无法完整还原已访问链路,有损用户体验。
技术实现思路
本申请实施例提供一种内存管理方法、装置、存储介质及终端设备,可以实现优化内存管理的效果。第一方面,本申请实施例提供了一种内存管理方法,该方法包括:根据用户访问页面的操作请求,获取待入栈视图;在导航管理堆栈中识别是否存在与所述待入栈视图一 ...
【技术保护点】
一种内存管理方法,其特征在于,包括:根据用户访问页面的操作请求,获取待入栈视图;在导航管理堆栈中识别是否存在与所述待入栈视图一致的视图,当导航管理堆栈中存在与所述待入栈视图一致的视图时,则将与所述待入栈视图一致的视图的页面数据,从内存管理对象中复制到内存缓存管理对象中,并将与所述待入栈视图一致的视图的页面数据从内存管理对象中清除;将所述待入栈视图的页面数据存储至所述内存管理对象的栈顶,并将所述待入栈视图推入所述导航管理堆栈的栈顶。
【技术特征摘要】
1.一种内存管理方法,其特征在于,包括:根据用户访问页面的操作请求,获取待入栈视图;在导航管理堆栈中识别是否存在与所述待入栈视图一致的视图,当导航管理堆栈中存在与所述待入栈视图一致的视图时,则将与所述待入栈视图一致的视图的页面数据,从内存管理对象中复制到内存缓存管理对象中,并将与所述待入栈视图一致的视图的页面数据从内存管理对象中清除;将所述待入栈视图的页面数据存储至所述内存管理对象的栈顶,并将所述待入栈视图推入所述导航管理堆栈的栈顶。2.根据权利要求1所述的方法,其特征在于,在导航管理堆栈中识别是否存在与所述待入栈视图一致的视图包括:在导航管理堆栈中的次栈顶至栈底中,识别是否存在与所述待入栈视图一致的视图。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据所述待入栈视图中的页面属性,识别是否为可复用视图;若否,将所述待入栈视图的页面数据存储至所述内存管理对象的栈顶,并将所述待入栈视图推入所述导航管理堆栈的栈顶。4.根据权利要求1或2所述的方法,其特征在于,所述将所述待入栈视图的页面数据存储至所述内存管理对象的栈顶,包括:从所述内存缓存管理对象中,复制与所述待入栈视图一致的视图的页面数据,作为待入栈视图的页面数据;将所述页面数据存储至所述内存管理对象的栈顶,并将所述待入栈视图推入所述导航管理堆栈的栈顶。5.根据权利要求1或3所述的方法,其特征在于,将所述待入栈视图的页面数据存储至所述内存管理对象的栈顶,包括:将所述待入栈视图的页面数据存储至中间导航管理堆栈的栈顶;将所述中间导航管理堆栈的数据同步到操作系统级导航管理堆栈。6.根据权利要求1所述的方法,其特征在于,包括:当获取到用户的页面的返回操作时,将导航管理堆栈的栈顶的视图确定为待出栈视图;当所述导航管理堆栈中存在与所述待出栈视图一致的视图时,则将与所述待出栈视图的页面数据从所述内存管理对象的栈顶清除;将所述待出栈视图推出所述导航管理堆栈。7.根据权利要求6所述的方法,其特征在于,在当所述导航管理堆栈中存在与所述待出栈视图一致的视图时,则将与所述待出栈视图的页面数据从所述内存管理对象的栈顶清除之前,还包括:当导航管理堆栈的次栈顶的视图为可复用视图时,判断与所述次栈顶的视图对应的所述内存管理对象的次栈顶内存是否为空;若是,从所述内存缓存管理对象中复制所述次栈顶的视图的页面数据至所述内存管理对象的栈顶。8.根据权利要求6或7所述的方法,其特征在于,还包括:当所述导航管理堆栈中不存在与所述待出栈视图一致的视图时,则将与所述待出栈视图的页面数据从所述内存管理对象的栈顶清除,并将与所述待出栈视图的页面数据从所述内存缓存管理对象中清除。9.一种内存管理装置,其特征在于,包括:待入栈视图获取模块,用于根据用户访问页面的操作请求,获取待入栈视图;页面数据入栈管理模块,用于在导航管理堆栈中识别是否存在与所述待入栈视图一致的视图,当导航管理堆栈中存在与所述待入栈视图一致...
【专利技术属性】
技术研发人员:黄琳,李文彬,郭亚京,
申请(专利权)人:深圳乐信软件技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。