System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 管理内存的方法和电子设备技术_技高网

管理内存的方法和电子设备技术

技术编号:40551131 阅读:8 留言:0更新日期:2024-03-05 19:10
本申请提供了一种管理内存的方法和电子设备,该方法根据目标进程的前后台属性来确定是否为目标进程中的各线程开启或者关闭线程本地缓存功能,从而对不同类型的线程的内存分配采用不同的分配方式。本技术方案和电子设备有利于减少因开启tcache功能引起的线程对于对用户体验无明显改善的物理内存的无效占用,有利于提升电子设备对有限的物理内存的利用率,有利于提升电子设备用户的使用体验。

【技术实现步骤摘要】

本申请涉及信息,具体地,涉及一种管理内存的方法和电子设备


技术介绍

1、操作系统通常将物理内存划分为固定大小的内存页框(如:4k或16k),当用户态进程访问未实际分配的内存时,会产生缺页中断,然后操作系统会为该进程分配一个实际的物理内存页框;当用户态进程不需要某块内存(大小为内存页框的整数倍)时,可以通过系统调用,将该块内存交还给操作系统。

2、电子设备一般在为应用程序的线程分配内存时,对于处于空闲状态的内存页框并不会及时回收。在先申请内存的线程对内存的无效占用使得在后申请内存的应用程序的线程往往更加困难地分配到足量的内存,因而在后申请内存的线程的运行速度会受到影响。如何改进电子设备分配内存的方法,以提升内存的利用率,是需要解决的问题。


技术实现思路

1、本申请提供一种管理内存的方法和电子设备,根据进程的前后台属性来确定是否需要为进程包含的线程开启线程本地缓存功能,有利于将物理内存分配至实际活动的线程,以提高这些线程的运行速率,有利于提高内存的利用率,减少内存空占的情况,有利于提升电子设备用户的使用体验。

2、第一方面,提供了一种管理内存的方法,包括:电子设备获取目标进程的第一属性,该第一属性用于指示目标进程为前台进程或后台进程,该目标进程包括目标线程;该电子设备根据该第一属性确定开启或关闭该目标线程的线程本地缓存功能。

3、在一种可能的实现方式中,当第一属性指示目标进程为前台进程的情况下,电子设备确定开启目标线程的线程本地缓存功能,当第一属性指示目标线程为后台进程的情况下,电子设备确定关闭目标线程的线程本地缓存功能。

4、需要说明的是,当目标线程的线程本地缓存(tcache)功能处于开启状态时,电子设备在确定为目标线程开启tcache功能的情况下,不再重复开启该tcache功能。同理,当目标线程的tcache功能处于开启关闭时,电子设备在确定为目标线程关闭tcache功能的情况下,不再重复关闭该tcache功能。

5、本技术方案中,电子设备根据进程的前后台属性来确定是否为进程包含的线程开启tcache功能,相较于为全部线程都默认开启tcache功能的内存分配方法,本技术方案提供的内存分配法首先对不同线程进行了区分,有利于将有限的物理内存分配给特定的线程,在一定程度上有利于提高内存的利用率,有利于减少物理内存被空占的情况,一定程度上有利于提高电子设备用户的使用体验。

6、结合第一方面,在第一方面的某些实现方式中,在该第一属性指示该目标进程为前台进程的情况下,该电子设备结合目标线程的第二属性确定开启该目标线程的线程本地缓存功能,该第二属性用于指示该目标线程为关键线程,该关键线程为与用户交互相关的线程;该电子设备开启该目标线程的线程本地缓存功能。

7、本技术方案中,电子设备仅为前台进程中与用户交互相关的线程开启tcache功能,更多的物理内存可以被这些与用户交互相关的线程使用,有利于提高这些线程的运算速度,更少的物理内存会被空占,本技术方案的实施有利于直观地给电子设备用户带来使用体验的提升。

8、结合第一方面,在第一方面的某些实现方式中,该关键线程包括以下一种或多种:接收用户输入事件的线程、绘制界面的用户界面线程和渲染画面的渲染线程。

9、对于前台进程中,与用户输入有关的线程、与用户界面绘制有关的线程以及用于渲染画面的线程可以开启tcache功能,本技术方案中电子设备可以仅为这些确定类型的线程开启tcache功能,一定程度上可以实现对物理内存的定向优先分配,有利于实现对电子设备的定制化,例如对于运行游戏的电子设备,通过本技术方案可以在保障游戏相关线程的运行速度的前提下,减少其他线程的内存消耗和与关键线程的内存资源竞争,,有利于提升用户对于该场景下电子设备的使用体验。

10、在一种可能的实现方式中,该电子设备从该目标线程的线程本地缓存中为该目标线程分配内存。

11、在一种可能的实现方式中,在该电子设备无法从该目标线程的线程本地缓存中为该目标线程分配内存的情况下,该电子设备从全局内存中为该目标线程分配内存。

12、结合第一方面,在第一方面的某些实现方式中,在电子设备根据该第一属性确定开启或关闭目标线程的线程本地缓存功能前,响应于用户的第一操作,该电子设备将该第一属性设置为指示该目标进程为前台进程。

13、本技术方案中,电子设备可以响应于用户的操作来确定电子设备上运行的不同进程的类型,确定哪些进程为前台进程,从而电子设备可以响应于用户的操作来动态地为不同的线程开启tcache功能,动态地为不同的线程分配物理内存,实现更合理地对不同线程进行内存分配,有利于提升用户对电子设备的整体使用体验。

14、结合第一方面,在第一方面的某些实现方式中,响应于用户的第二操作,该电子设备将该第一属性设置为指示该目标进程为后台进程。

15、本技术方案中,电子设备可以响应于用户的操作将前台进程设置为后台进程,从而电子设备可以进一步根据用户的操作来确定为更改前后台属性后的目标进程包含的线程分配内存的方法,有利于提高电子设备对用户操作的响应效率,有利于提升电子设备用户的使用体验。

16、结合第一方面,在第一方面的某些实现方式中,在第一属性指示目标进程为后台进程的情况下,该电子设备根据该第一属性确定关闭该目标线程的线程本地缓存功能,该电子设备关闭目标线程的线程本地缓存功能。

17、本技术方案中,在第一属性指示目标进程为后台进程的情况下,电子设备根据第一属性来关闭目标进程包含的目标线程的tcache功能,从而目标线程不会再通过tcache向全局内存申请内存,有利于电子设备将物理内存分配给除后台进程包含的线程以外的其他线程,有利于提高电子设备上不同线程对于物理内存的利用率,提升电子设备对物理内存的分配效率,提升电子设备用户的使用体验。

18、结合第一方面,在第一方面的某些实现方式中,该电子设备回收该目标线程的线程本地缓存。

19、本技术方案中,对于后台进程下的目标线程,电子设备可以回收目标线程使用的tcache,进而有利于减少目标线程对于物理内存的空占,有利于将更多的物理内存分配给除后台进程包含的线程以外的其他线程,有利于提高电子设备上不同线程对于物理内存的利用率,提升电子设备对物理内存的分配效率,提升电子设备用户的使用体验。

20、结合第一方面,在第一方面的某些实现方式中,该电子设备回收该目标进程的片单元的空闲内存页。

21、本技术方案中,电子设备进一步地可以回收后台进程使用的片单元的空闲内存页,相较于整体回收片缓存中所有空闲内存页的方法,本技术方案能够实现空闲内存页的及时回收,从而可以将回收后的物理内存分配至其他线程使用,有利于减少物理内存的空占,有利于提高物理内存的使用率,也有利于提升电子设备对物理内存的分配效率,提高电子设备用户的使用体验。

22、第二方面,提供了一种管理内存的方法,本文档来自技高网...

【技术保护点】

1.一种管理内存的方法,其特征在于,所述方法应用于电子设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述电子设备根据所述第一属性确定开启或关闭所述目标线程的线程本地缓存功能,包括:

3.根据权利要求2所述的方法,其特征在于,所述关键线程包括以下一种或多种:接收用户输入事件的线程、绘制界面的用户界面线程和渲染画面的渲染线程。

4.根据权利要求2或3所述的方法,其特征在于,在所述电子设备根据所述第一属性确定开启或关闭所述目标线程的线程本地缓存功能前,所述方法还包括:

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述电子设备根据所述第一属性确定开启或关闭所述目标线程的线程本地缓存功能,包括:

7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:

8.根据权利要求5至7中任一项所述的方法,其特征在于,所述方法还包括:

9.一种管理内存的方法,其特征在于,所述方法应用于电子设备,所述方法包括:>

10.根据权利要求9所述的方法,其特征在于,所述方法还包括:

11.根据权利要求10所述的方法,其特征在于,所述目标进程包括目标线程,所述方法还包括:

12.根据权利要求11所述的方法,其特征在于,所述方法还包括:

13.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至8中任一项所述的方法。

14.一种电子设备,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求9至12中任一项所述的方法。

15.一种管理内存的装置,其特征在于,包括用于实现权利要求1至8或者权利要求9至12中任一项所述的方法的模块。

16.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机执行时,以使得实现权利要求1至8或者权利要求9至12中任一项所述的方法。

17.一种芯片产品,其特征在于,包括:处理器,用于读取存储器中存储的指令,当所述处理器执行所述指令时,使得所述芯片实现权利要求1至8或者权利要求9至12中任一项所述的方法。

...

【技术特征摘要】

1.一种管理内存的方法,其特征在于,所述方法应用于电子设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述电子设备根据所述第一属性确定开启或关闭所述目标线程的线程本地缓存功能,包括:

3.根据权利要求2所述的方法,其特征在于,所述关键线程包括以下一种或多种:接收用户输入事件的线程、绘制界面的用户界面线程和渲染画面的渲染线程。

4.根据权利要求2或3所述的方法,其特征在于,在所述电子设备根据所述第一属性确定开启或关闭所述目标线程的线程本地缓存功能前,所述方法还包括:

5.根据权利要求1至4中任一项所述的方法,其特征在于,所述方法还包括:

6.根据权利要求5所述的方法,其特征在于,所述电子设备根据所述第一属性确定开启或关闭所述目标线程的线程本地缓存功能,包括:

7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:

8.根据权利要求5至7中任一项所述的方法,其特征在于,所述方法还包括:

9.一种管理内存的方法,其特征在于,所述方法应用于电子设备,所述方法包括:

10.根据权利要求9所述...

【专利技术属性】
技术研发人员:姚旺来
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1