System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及内存管理,尤其涉及一种内存管理方法、装置、电子设备及存储介质。
技术介绍
1、计算机内存是操作系统重要资源,内存占用过高会导致系统卡顿、软件崩溃。尤其在以网页视图(webview)为核心的客户端中,渲染进程内存占据了整个软件内存的大部分,因此对客户端的进程内存控制非常重要。
2、相关技术中,可通过限制网页视图的数量或清理后台网页视图的方式对客户端进行内存控制,但是这种方法效果差,不灵活,导致用户体验性差。
技术实现思路
1、有鉴于此,本公开的目的在于提出一种内存管理方法、装置、电子设备及存储介质。
2、基于上述目的,本公开的第一方面提供了一种内存管理方法,包括:
3、构建进程与网页框架之间的第一关系以及网页视图与所述网页框架之间的第二关系;其中,所述第一关系表征每个进程包括的网页框架,以及所述第二关系表征每个网页视图中包括的网页框架;
4、基于所述第一关系、所述第二关系以及每个进程的内存值,确定每个所述网页视图的内存值;
5、基于每个所述网页视图的内存值,进行内存管理。
6、在一些实施例中,所述确定每个所述网页视图的内存值,包括:
7、遍历每个进程,对于遍历到的当前进程:基于所述第一关系确定当前进程中包含的网页框架数量;基于所述当前进程的内存值以及所述网页框架数量,确定当前进程中的每个网页框架所占用的第一内存值;
8、遍历与网页视图有第二关系的网页框架,对于遍历到的当前网页视图
9、在一些实施例中,还包括:
10、基于所述当前进程的内存值与当前进程中包含的网页框架数量的比值确定所述第一内存值。
11、在一些实施例中,所述基于每个所述网页视图的内存值,进行内存管理,包括:
12、获取可用内存和/或已占用内存的内存值;
13、响应于所述可用内存和/或所述已占用内存的内存值满足预设条件,基于所述网页视图的内存值清理后台中至少部分所述网页视图。
14、在一些实施例中,所述基于所述网页视图的内存值清理后台中至少部分所述网页视图,包括:
15、清理后台中内存值大于预设值的所述网页视图。
16、在一些实施例中,所述获取可用内存的内存值,包括:
17、获取目标系统的可用物理内存的内存值;
18、获取目标系统中基于文件的页面缓存的内存值;
19、基于所述可用物理内存的内存值与部分所述页面缓存的内存值之和确定所述可用内存的内存值。
20、在一些实施例中,所述部分所述页面缓存的内存值包括预设比例的所述页面缓存的内存值,所述预设比例为20%-60%。
21、在一些实施例中,获取可用内存和/或已占用内存的内存值,包括以下至少之一:
22、获取与目标功能对应的进程已占用内存的内存值;
23、获取与目标应用对应的进程已占用内存的内存值;
24、获取目标系统的可用内存的内存值;
25、获取目标系统的可用内存的内存值与总内存的内存值的比值。
26、在一些实施例中,所述基于每个所述网页视图的内存,进行内存管理,包括:
27、响应于对所述网页视图的设置操作,设置所述网页视图的后台时间;
28、响应于所述网页视图位于后台的时长超过所述后台时间,清理所述网页视图。
29、本公开的第二方面提供了一种内存管理装置,包括:
30、构建模块,被配置为:构建进程与网页框架之间的第一关系以及网页视图与所述网页框架之间的第二关系;其中,所述第一关系表征每个进程包括的网页框架,以及所述第二关系表征每个网页视图中包括的网页框架;
31、确定模块,被配置为:基于所述第一关系、所述第二关系以及每个进程的内存值,确定每个所述网页视图的内存值;
32、管理模块,被配置为:基于每个所述网页视图的内存值,进行内存管理。
33、本公开的第三方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的内存管理方法。
34、本公开的第四方面提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面所述的内存管理方法。
35、从上面所述可以看出,本公开提供的内存管理方法、装置、电子设备及存储介质,通过构建进程与网页框架之间的第一关系以及网页视图与所述网页框架之间的第二关系,再基于第一关系、第二关系以及每个进程的内存值确定每个网页视图的内存值,再基于每个网页视图的内存值进行内存管理,从而可以基于每个网页视图的内存值对内存进行更为准确、灵活的内存管理,从而可以提升内存管理的效果,提高用户体验性。
本文档来自技高网...【技术保护点】
1.一种内存管理方法,包括:
2.根据权利要求1所述的方法,其中,所述确定每个所述网页视图的内存值,包括:
3.根据权利要求2所述的方法,还包括:
4.根据权利要求1所述的方法,其中,所述基于每个所述网页视图的内存值,进行内存管理,包括:
5.根据权利要求4所述的方法,其中,所述基于所述网页视图的内存值清理后台中至少部分所述网页视图,包括:
6.根据权利要求4所述的方法,其中,所述获取可用内存的内存值,包括:
7.根据权利要求6所述的方法,其中,所述部分所述页面缓存的内存值包括预设比例的所述页面缓存的内存值,所述预设比例为20%-60%。
8.根据权利要求4所述的方法,其中,获取可用内存和/或已占用内存的内存值,包括以下至少之一:
9.根据权利要求1所述的方法,其中,所述基于每个所述网页视图的内存,进行内存管理,包括:
10.一种内存管理装置,包括:
11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实
12.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至9任一项所述的内存管理方法。
...【技术特征摘要】
1.一种内存管理方法,包括:
2.根据权利要求1所述的方法,其中,所述确定每个所述网页视图的内存值,包括:
3.根据权利要求2所述的方法,还包括:
4.根据权利要求1所述的方法,其中,所述基于每个所述网页视图的内存值,进行内存管理,包括:
5.根据权利要求4所述的方法,其中,所述基于所述网页视图的内存值清理后台中至少部分所述网页视图,包括:
6.根据权利要求4所述的方法,其中,所述获取可用内存的内存值,包括:
7.根据权利要求6所述的方法,其中,所述部分所述页面缓存的内存值包括预设比例的所述页面缓存的内存值,所述预设比例为20...
【专利技术属性】
技术研发人员:何炜,
申请(专利权)人:北京字跳网络技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。