【技术实现步骤摘要】
SPA中更新虚拟页面实例状态的方法和组件
本专利技术涉及单页应用程序
,尤其涉及一种SPA中更新虚拟页面实例状态的方法和组件。
技术介绍
在现代业务单页应用程序中,无法避免复杂的情况,越来越多的用户交互将导致更多的内存使用。尤其移动设备的所有资源都受到限制,并且内存与所有正在运行的应用程序/操作系统(OS)共享。在单页应用程序(SPA)中,所有UI都在一个浏览器窗口中,无法从OS内存管理中受益,如果没有足够的系统内存来支持SPA保持正确的状态,SPA可能会崩溃,最终用户可能无法获得更好的用户体验。从浏览器的角度来看,它只能在内存不足时触发垃圾回收,但对于SPA必须使用更多的内存却无法进行垃圾回收这一事实没有任何帮助。目前的SPA中存在的一个问题是,内存中能够存储的页面是有限的,因此,有些页面需要存储于除了内存的其他的位置,而当某一页面的内容由于用户操作有更新时需要更新所有与该页面有关联的页面的对应内容,但是现有的SPA仅支持更新内存中存储的与该页面有关联的页面,对于存储于非内存的其他存储器的页面状态无法
【技术保护点】
1.一种SPA中更新虚拟页面实例状态的方法,其特征在于,包括:/n接收用户的页面请求,创建SPA的虚拟页面实例;/n接收SPA中内存监控器组件的实时检测结果,确定所述虚拟页面实例的存储方式,其中,所述存储方式包括前台内部存储器存储、后台内部存储器存储以及外部存储器存储;/n若接收到用户的中间输入,则命令SPA中通知服务组件向订阅通知服务的虚拟页面实例发布状态更新消息,并根据订阅通知服务的虚拟页面实例的存储方式更新订阅通知服务的虚拟页面实例的状态。/n
【技术特征摘要】
1.一种SPA中更新虚拟页面实例状态的方法,其特征在于,包括:
接收用户的页面请求,创建SPA的虚拟页面实例;
接收SPA中内存监控器组件的实时检测结果,确定所述虚拟页面实例的存储方式,其中,所述存储方式包括前台内部存储器存储、后台内部存储器存储以及外部存储器存储;
若接收到用户的中间输入,则命令SPA中通知服务组件向订阅通知服务的虚拟页面实例发布状态更新消息,并根据订阅通知服务的虚拟页面实例的存储方式更新订阅通知服务的虚拟页面实例的状态。
2.根据权利要求1所述的SPA中更新虚拟页面实例状态的方法,其特征在于,所述创建SPA的虚拟页面实例,具体包括:
若所述页面请求未被实例化,则下载资源创建第一UI样式实例和第一UI域实例,构建与所述第一UI样式实例和所述第一UI域实例匹配的第一状态数据实例,基于所述第一UI样式实例、所述第一UI域实例和所述第一状态数据实例创建虚拟页面实例,所述资源包括UI域模型、虚拟页面js和虚拟页面样式;
若所述页面请求已被实例化且所述页面请求对应的虚拟页面实例存储于外部存储器,则从外部存储器恢复所述虚拟页面的UI域数据和状态数据,基于所述UI域数据和状态数据构建第二UI域实例和第二状态数据实例,构建与所述第二UI域实例和所述第二状态数据实例匹配的第二UI样式实例,基于所述第二UI样式实例、所述第二UI域实例和所述第二状态数据实例创建虚拟页面实例;
若所述页面请求已被实例化且所述页面请求对应的虚拟页面实例存储于后台内部存储器,则直接切换至所述虚拟页面实例。
3.根据权利要求1所述的SPA中更新虚拟页面实例状态的方法,其特征在于,所述接收SPA中内存监控器组件的实时检测结果,确定所述虚拟页面实例的存储方式,其中,所述存储方式包括前台内部存储器存储、后台内部存储器存储以及外部存储器存储,具体包括:
若所述虚拟页面实例为用户正在使用实例,则所述虚拟页面实例的存储方式为前台内部存储器存储;
若所述虚拟页面实例非用户正在使用实例且SPA中内存监控器组件的实时检测结果为当前内存不足,则所述虚拟页面实例的存储方式为外部存储器存储;
若所述虚拟页面实例非用户正在使用实例且SPA中内存监控器组件的实时检测结果为当前内存充足,则所述虚拟页面实例的存储方式为后台内部存储器存储;
所述SPA中内存监控器组件的实时检测结果为当前内存不足,具体包括:
SPA中内存监控器组件的实时检测结果为系统存在内部存储器不足警告或者内部存储器中虚拟页面实例的数量超过预设阈值。
4.根据权利要求3所述的SPA中更新虚拟页面实例状态的方法,其特征在于,采用外部存储器存储所述虚拟页面实例,具体包括:
基于应用平台确定外部存储器类型;
将所述虚拟页面实例拆分为UI域数据和状态数据;
将所述UI域数据和状态数据存入所述外部存储器;
将所述虚拟页面实例的关联信息从内部存储器清除;
所述基于应用平台确定外部存储器类型,具体包括:
若应用平台为浏览器,则外部存储器的类型为局部存储器或者索引数据库;
若应用平台为混合移动应用,则外部存储器为本机存储器。
5.根据权利要求1所述的SPA中更新虚拟页面实例状态的方法,其特征在于,所述根据订阅通知服务的虚拟页面...
【专利技术属性】
技术研发人员:唐溢泓,崔伟毅,傅腾,徐啸,胡鹏,彭茜,杨雯雯,王俊龙,
申请(专利权)人:北京仁科互动网络技术有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。