【技术实现步骤摘要】
内存释放方法及装置
本公开涉及计算机
,尤其涉及一种内存释放方法及装置。
技术介绍
快应用是指与系统深度整合的、能够提供场景化体验的新型应用,快应用具有无需安装,即搜即用等特点,其面向用户端提供各种JavaScript功能接口,基于这些JavaScript功能接口,系统内的JavaScript层通过与Java层进行数据交互,可向用户提供各种服务,并使用户获得与原生应用相同的体验效果。由于JavaScript层与Java层的内存是有限的,在JavaScript层与Java层进行数据交互后,为了避免内存泄露,降低提升系统性能,需要JavaScript层和Java层释放所交互的数据占用的内存。
技术实现思路
为克服相关技术中存在的问题,本公开提供一种内存释放方法及装置。根据本公开实施例的第一方面,提供一种内存释放方法,所述方法包括:JavaScript层调用JavaScript功能接口在Java层创建Java对象;所述Java层将所述Java对象转换为JavaScript句柄对象,通过所述JavaScript功能接口将所述JavaScript句柄对象发送至所述Java ...
【技术保护点】
1.一种内存释放方法,其特征在于,所述方法包括:JavaScript层调用JavaScript功能接口在Java层创建Java对象;所述Java层将所述Java对象转换为JavaScript句柄对象,通过所述JavaScript功能接口将所述JavaScript句柄对象发送至所述JavaScript层,并重写所述JavaScript句柄对象的释放方法;所述JavaScript层根据所述JavaScript句柄对象,生成JavaScript原生对象;当释放所述JavaScript原生对象占用的内存后,所述JavaScript层向所述Java层发送内存释放消息,所述内存释放消息 ...
【技术特征摘要】
1.一种内存释放方法,其特征在于,所述方法包括:JavaScript层调用JavaScript功能接口在Java层创建Java对象;所述Java层将所述Java对象转换为JavaScript句柄对象,通过所述JavaScript功能接口将所述JavaScript句柄对象发送至所述JavaScript层,并重写所述JavaScript句柄对象的释放方法;所述JavaScript层根据所述JavaScript句柄对象,生成JavaScript原生对象;当释放所述JavaScript原生对象占用的内存后,所述JavaScript层向所述Java层发送内存释放消息,所述内存释放消息包括所述JavaScript句柄对象;当接收到所述内存释放消息时,所述Java层基于重写的所述JavaScript句柄对象的释放方法,释放所述JavaScript句柄对象对应的所述Java对象占用的内存。2.根据权利要求1所述的方法,其特征在于,所述JavaScript层调用JavaScript功能接口在Java层创建Java对象,包括:所述JavaScript层通过调用所述JavaScript功能接口的构造函数在所述Java层创建Java对象。3.根据权利要求1所述的方法,其特征在于,所述JavaScript层调用JavaScript功能接口在Java层创建Java对象,包括:所述JavaScript层通过调用所述JavaScript功能接口的普通方法在所述Java层创建Java对象。4.根据权利要求1所述的方法,其特征在于,所述Java层将所述Java对象转换为JavaScript句柄对象,包括:所述Java层采用接口对象管理器将所述Java对象转换为JavaScript句柄对象,所述接口对象管理器用于将Java对象转换为JavaScript句柄对象。5.根据权利要求1所述的方法,其特征在于,所述通过所述JavaScript功能接口将所述JavaScript句柄对象发送至所述JavaScript层之前,还包括:所述Java层更改向所述JavaScript层返回值的Map,以使所述Java层能够通过所述JavaScript功能接口将所述JavaScript句柄对象发送至所述JavaScript层。6.根据权利要求1所述的方法,其特征在于,所述JavaScript句柄对象包括所述Java对象对应的JavaScript原生对象属性,所述JavaScript层根据所述JavaScript句柄对象,生成JavaScript原生对象,包括:所述JavaScript层根据所述JavaScript原生类型属性,生成JavaScript原生对象。7.根据权利要求4所述的方法,其特征在于,所述当接收到所述内存释放消息时,所述Java层基于重写的所述JavaScript句柄对象的释放方法,释放所述JavaScript句柄对象对应的所述Java对象占用的内存,包括:当接收到所述内存释放消息时,所述Java层基于重写的所述JavaScript句柄对象的释放方法,将所述JavaScript句柄对象从所述接口对象管理器中删除,并释放所述JavaScript句柄对象对应的所述Java对象占用的内存。8.根据权利要求1所述的方法,其特征在于,所述JavaScript层根据所述JavaScript句柄对象,生成JavaScript原生对象之后,还包括:在所述JavaScript原生对象的应用场景下,所述JavaScript层通过所述JavaScript功能接口向所述Java层发送调用消息,所述调用消息包括所述JavaScript句柄对象;当接收到所述调用消息时,所述Java层获取所述JavaScript句柄对象对应的Java对象,以实现相应功能。9.一种内存释放装置,其特征在于,所述装置包括:对...
【专利技术属性】
技术研发人员:杨亮,董红光,董永清,祁建斌,
申请(专利权)人:北京小米移动软件有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。