一种内存管理方法_4

文档序号:8543746阅读:来源:国知局
象所占内存。
[0111]本发明实施例中,选择单元403可包括:第一遍历单元,第一计算单元和第一确定单元。其中:
[0112]所述第一遍历单元,用于遍历所述预设内存中的大小等于所述目标区域的容量的内存片段;
[0113]所述第一计算单元,用于各自计算出所述内存片段中包含的所述第二类程序引用的活动对象的个数;
[0114]所述第一确定单元,用于将包含有第二类程序引用的活动对象的个数最多的内存片段选定为所述目标区域。
[0115]本发明实施例中,选择单元403也可以包括:第二遍历单元,第二计算单元和第二确定单元。其中:
[0116]所述第二遍历单元,用于遍历所述预设内存中的大小等于所述目标区域的容量的内存片段;
[0117]所述第二计算单元,用于各自计算出所述内存片段外的活动对象移动至所述内存片段的移动时间总量;
[0118]所述第二确定单元,用于将对应的移动时间总量最小的所述内存片段选定为所述目标区域。
[0119]本发明实施例中,选择单元403还可以包括:第三遍历单元,第一筛选单元,第三计算单元和第三确定单元。其中:
[0120]所述第三遍历单元,用于遍历所述预设内存中的大小等于所述目标区域的容量的内存片段;
[0121]所述第一筛选单元,用于从所述大小等于所述目标区域的容量的内存片段中,选取出大小等于所述目标区域的容量的空白内存片段;
[0122]所述第三计算单元,用于各自计算出所述空白内存片段外的活动对象移动至所述空白内存片段的移动时间总量;
[0123]所述第三确定单元,用于将对应的移动时间总量最小的所述空白内存片段选定为所述目标区域。
[0124]本发明实施例中,选择单元403再可以包括:第四遍历单元,第二筛选单元,第四计算单元和第四确定单元。其中:
[0125]所述第四遍历单元,用于遍历所述预设内存中的大小等于所述目标区域的容量的内存片段;
[0126]所述第二筛选单元,用于从所述大小等于所述目标区域的容量的内存片段中,选取出大小等于所述目标区域的容量且不包含所述第二类程序引用的活动对象的内存片段;
[0127]所述第四计算单元,用于各自计算出所述不包含所述第二类程序引用的活动对象的内存片段外的活动对象移动至所述不包含所述第二类程序引用的活动对象的内存片段的移动时间总量;
[0128]所述第四确定单元,用于将对应移动时间总量最小的所述不包含所述第二类程序引用的活动对象的内存片段选定为所述目标区域。
[0129]参见图5,是本发明提供的终端的第二实施例的结构示意图,如图5所示的终端40在包括:输入单元401,选择单元403,分析单元405以及移动单元407外,还可包括:判断单元409,第一整理单元411和清除单元413,其中:
[0130]判断单元409,用于在移动单元407将所述第一类程序引用的活动对象移动至所述目标区域之前,判断所述目标区域中是否包含所述第一类程序引用的活动对象;
[0131]第一整理单元411,用于当判断单元409的输出结果为是时,将所述目标区域中的所述第一类程序引用的活动对象移动至所述目标区域的一端。
[0132]清除单元413,用于在输入单元401接收清理指令之后,释放所述预设内存中的垃圾对象所占内存。
[0133]参见图6,是本发明提供的终端的第三实施例的结构示意图,如图6所示的终端40在包括:输入单元401,选择单元403,分析单元405,移动单元407以及清除单元413外,还可包括:第一监测单元415和第二整理单元417。其中:
[0134]第一监测单元415,用于在移动单元407将所述第一类程序引用的活动对象移动至所述目标区域之后,监测运行在所述目标区域内的所述第二类程序是否变成所述第一类程序;
[0135]第二整理单元417,用于当第一监测单元415的监测结果为是时,将转变成所述第一类程序的所述第二类程序所引用的活动对象移动至所述目标区域的一端。
[0136]本发明实施例中,终端40还可以如图7所示进一步的包括:第二监测单元419,用于在移动单元407将所述第一类程序引用的活动对象移动至所述目标区域之后,监测运行在所述目标区域外的所述第二类程序是否变成所述第一类程序,若是,则触发移动单元407将转变成所述第一类程序的所述第二类程序所引用的活动对象移动至所述目标区域。
[0137]可理解的是,终端40中各功能模块的功能可根据上述图1至图3的方法实施例中的方法具体实现,这里不再赘述。
[0138]参见图8,是本发明提供的终端的第五实施例的结构示意图。其中,如图8所示,该终端100可以包括:至少一个处理器1001,例如CPU,至少一个总线1002,至少一个输入装置1003,至少一个输出装置1004,存储器1005。其中,总线1002用于实现这些组件之间的通信连接;输入装置1003可以包括触摸屏(Touch Screen),可选输入装置1003还可以包括键盘(Keyboard),或者其他实体按键,例如,音量键;输出装置1004可以包括显示屏(Display);存储器1005可以是高速RAM存储器,也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图8所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及内存管理程序。
[0139]在图8所示的终端100中,处理器1001可以调用存储器1005中存储的内存管理程序,并执行以下操作:
[0140]通过输入装置1003接收清理指令,所述清理指令用于触发清理预设内存;
[0141]响应所述清理指令,在所述预设内存中,分析出第一类程序引用的活动对象和第二类程序引用的活动对象;所述第一类程序的用户交互度低于或等于预设交互度阈值;所述第二类程序的用户交互度高于所述预设交互度阈值;
[0142]从所述预设内存中选取出目标区域;
[0143]将所述第一类程序引用的活动对象移动至所述目标区域,并将所述第一类程序引用的活动对象在移动之前所占内存释放。
[0144]具体的,所述第一类程序可以包括:当前没有占用输入输出端口的程序;或者,运行在后台的程序。所述目标区域的容量大于或等于所述预设内存中的全部活动对象所占内存。
[0145]本发明实施例中,在从所述预设内存中选取出目标区域时,处理器1001可以遍历所述预设内存中的大小等于所述目标区域的容量的内存片段,并且各自计算出所述内存片段中包含的所述第二类程序引用的活动对象的个数。之后,处理器1001可将包含有第二类程序引用的活动对象的个数最多的内存片段选定为所述目标区域。
[0146]本发明实施例中,在从所述预设内存中选取出目标区域时,处理器1001可遍历所述预设内存中的大小等于所述目标区域的容量的内存片段,并且各自计算出所述内存片段外的活动对象移动至所述内存片段的移动时间总量。之后,处理器1001可将对应的移动时间总量最小的所述内存片段选定为所述目标区域。
[0147]优选的,本发明实施例中,在从所述预设内存中选取出目标区域时,处理器1001可遍历所述预设内存中的大小等于所述目标区域的容量的内存片段,并且从所述大小等于所述目标区域的容量的内存片段中,选取出大小等于所述目标区域的容量的空白内存片段。之后,处理器1001可各自计算出所述空白内存片段外的活动对象移动至所述空白内存片段的移动时间总量,将对应的移动时间总量最小的所述空白内存片段选定为所述目标区域。
[0148]优选的,本发明实施例中,在从所述预设内存中选取出目标区域时,处理器1001可遍历所述预设内存中的大小等于所述目标区域的容量的内存片段,并且从所述大小等于所述目标区域的容量的内存片段中,选取出大小等于所述目标区域的容量且不包含所述第二类程序引用的活动对象的内存片段。之后
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1