活动窗口的数据共享方法、装置、设备及存储介质制造方法及图纸

技术编号:19963950 阅读:19 留言:0更新日期:2019-01-03 12:41
本发明专利技术实施例公开了一种活动窗口的数据共享方法、装置、设备及存储介质。该方法包括:获取待共享数据和目标活动窗口对象对应的目标上下文对象;以目标上下文对象为函数输入参数,通过数据缓存类调用对象获取函数,从目标映射关系对象中获取目标活动窗口对象对应的目标数据缓存对象;调用目标数据缓存对象中的数据存储函数,将待共享数据存储至目标数据缓存对象中的目标数据对象中。通过上述技术方案,实现了Android系统中活动窗口页面作用域内的数据共享,且在活动窗口页面切换时,切换后活动窗口页面对应的共享数据独立于切换前活动窗口页面对应的共享数据,从而避免了切换前活动窗口页面的脏数据对切换后活动窗口页面造成影响。

Data Sharing Method, Device, Equipment and Storage Medium of Active Window

The embodiment of the present invention discloses a data sharing method, device, device and storage medium of an active window. The method includes: acquiring the target context object corresponding to the shared data and the target active window object; using the target context object as the function input parameter, calling the object acquisition function through the data cache class, acquiring the target data cache object corresponding to the target active window object from the target mapping relational object; and calling the data storage function in the target data cache object. The data to be shared is stored in the target data object in the target data cache object. Through the above technical scheme, the data sharing within the scope of active window pages in Android system is realized. When the active window pages are switched, the shared data corresponding to the active window pages after switching is independent of the shared data corresponding to the active window pages before switching, thus avoiding the influence of dirty data of the active window pages before switching on the active window pages after switching.

【技术实现步骤摘要】
活动窗口的数据共享方法、装置、设备及存储介质
本专利技术实施例涉及计算机技术,尤其涉及一种活动窗口的数据共享方法、装置、设备及存储介质。
技术介绍
在Android系统中,活动窗口被称为Activity。Activity是一个负责与用户交互的组件,其提供一个屏幕(可以理解为屏幕界面,而非实体的显示屏幕),以供用户交互完成某项任务。在一个Android应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。通常,一个Android应用程序可以由多个彼此松散联系的Activity组成。而且每个Activity均可启动另一个Activity,以便执行不同的操作。目前,通常将活动窗口作用域内的数据存储在静态内存中,以实现数据共享。然而,在Activity页面切换时,静态内存中缓存的切换前Activity页面对应的数据不能及时被清除(即脏数据),导致切换后的当前Activity页面可以共享切换前Activity页面的脏数据,从而将切换前Activity页面的脏数据显示在当前Activity页面上,对当前Activity页面造成影响。
技术实现思路
本专利技术实施例提供了一种活动窗口的数据共享方法、装置、设备及存储介质,以更加精确的方式实现Android系统中活动窗口页面作用域内的数据共享,使得在Activity页面切换时,切换后活动窗口页面对应的共享数据独立于切换前活动窗口页面对应的共享数据,从而避免了切换前活动窗口页面的脏数据对切换后活动窗口页面造成影响。第一方面,本专利技术实施例提供了一种活动窗口的数据共享方法,包括:获取待共享数据和目标活动窗口对象对应的目标上下文对象;以所述目标上下文对象为函数输入参数,通过数据缓存类调用对象获取函数,从目标映射关系对象中获取所述目标活动窗口对象对应的目标数据缓存对象,其中,所述目标映射关系对象用于存储活动窗口对象与数据缓存对象之间的映射关系,所述目标映射关系对象具有私有权限修饰符和静态类型修饰符,所述对象获取函数具有私有权限修饰符和静态类型修饰符;调用所述目标数据缓存对象中的数据存储函数,将所述待共享数据存储至所述目标数据缓存对象中的目标数据对象中。第二方面,本专利技术实施例还提供了一种活动窗口的数据共享装置,包括:目标上下文对象获取模块,用于获取待共享数据和目标活动窗口对象对应的目标上下文对象;目标数据缓存对象获取模块,用于以所述目标上下文对象为函数输入参数,通过数据缓存类调用对象获取函数,从目标映射关系对象中获取所述目标活动窗口对象对应的目标数据缓存对象,其中,所述目标映射关系对象用于存储活动窗口对象与数据缓存对象之间的映射关系,所述目标映射关系对象具有私有权限修饰符和静态类型修饰符,所述对象获取函数具有私有权限修饰符和静态类型修饰符;共享数据存储模块,用于调用所述目标数据缓存对象中的数据存储函数,将所述待共享数据存储至所述目标数据缓存对象中的目标数据对象中。第三方面,本专利技术实施例还提供了一种设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例所提供的活动窗口的数据共享方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本专利技术任意实施例所提供的活动窗口的数据共享方法。本专利技术实施例通过预先为每个活动窗口对象设置一个独立的数据缓存对象,以存储对应活动窗口对象作用域内的共享数据,避免了在同一静态内存中存储多个活动窗口对象的共享数据,为各个活动窗口对象进行独立的数据共享提供数据存储基础。通过预先建立每个活动窗口对象与数据缓存对象之间的映射关系,并将该映射关系存储至目标映射关系对象中,以映射关系对象的方式,维护活动窗口对象与其对应的数据缓存对象之间的关联性,以使得数据缓存对象的生命周期与对应的活动窗口对象的生命周期一致,为各个活动窗口对象进行独立的数据共享提供数据清除基础。通过以目标活动窗口对象对应的目标上下文对象为函数输入参数,通过数据缓存类调用对象获取函数,从目标映射关系对象中获取目标活动窗口对象对应的目标数据缓存对象,并调用目标数据缓存对象中的数据存储函数,将待共享数据存储至目标数据缓存对象中的目标数据对象中。实现了以更加精确的方式进行Android系统中活动窗口页面作用域内的数据共享,使得在Activity页面切换时,切换后活动窗口页面对应的共享数据独立于切换前活动窗口页面对应的共享数据,从而避免了切换前活动窗口页面的脏数据对切换后活动窗口页面造成影响。附图说明图1是本专利技术实施例一提供的一种活动窗口的数据共享方法的流程图;图2是本专利技术实施例二提供的一种活动窗口的数据共享方法的流程图;图3是本专利技术实施例三提供的一种活动窗口的数据共享方法的流程图;图4是本专利技术实施例四提供的一种活动窗口的数据共享装置的结构示意图;图5是本专利技术实施例五提供的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种活动窗口的数据共享方法的流程图,本实施例可适用于将每个活动窗口页面作用域内的数据进行全局性和独立性存储的情况,尤其可以用于在Android应用程序中独立存储每个活动窗口页面数据的场景中。该方法可以由活动窗口的数据共享装置来执行,该装置可以由软件和/或硬件的方式来实现,该装置可以集成于安装有Android应用程序的设备中,例如典型的是用户终端设备,例如手机、平板电脑或智能电视等。参见图1,本实施例的方法具体包括如下步骤:S110、获取待共享数据和目标活动窗口对象对应的目标上下文对象。其中,待共享数据是指目标活动窗口对象作用域内的数据,其需要共享至目标活动窗口对象作用域内的其他组件对象。目标活动窗口对象是指目标活动窗口对应的活动窗口对象。活动窗口对象是指一个活动窗口在初始化时构建的相应对象。目标上下文对象是指目标活动窗口对象对应的上下文对象。具体地,每个活动窗口在初始化时均构建一个活动窗口对象,且每个活动窗口与活动窗口对象是一一对应关系。每个活动窗口对象也唯一对应一个上下文对象。本专利技术实施例中目标活动窗口可以是任意一个活动窗口。在获得了目标活动窗口对象之后,根据该目标活动窗口对象获取其唯一对应的目标上下文对象。在进行数据共享时,还需获取待共享数据,本实施例中的待共享数据可以是目标活动窗口中任一组件的字符串类型的数据。S120、以目标上下文对象为函数输入参数,通过数据缓存类调用对象获取函数,从目标映射关系对象中获取目标活动窗口对象对应的目标数据缓存对象。其中,数据缓存类是预先定义的一个可存储活动窗口作用域内数据的类。数据缓存对象是数据缓存类实例化后的对象。数据缓存对象实例化的时机是与其关联的活动窗口被创建的时机,即在生成活动窗口对象时,生成该活动窗口对象对应的数据缓存对象。这样,每个活动窗口对象均对应一个独立的数据缓存对象,该数据缓存对象用于存储对应的活本文档来自技高网...

【技术保护点】
1.一种活动窗口的数据共享方法,其特征在于,包括:获取待共享数据和目标活动窗口对象对应的目标上下文对象;以所述目标上下文对象为函数输入参数,通过数据缓存类调用对象获取函数,从目标映射关系对象中获取所述目标活动窗口对象对应的目标数据缓存对象,其中,所述目标映射关系对象用于存储活动窗口对象与数据缓存对象之间的映射关系,所述目标映射关系对象具有私有权限修饰符和静态类型修饰符,所述对象获取函数具有私有权限修饰符和静态类型修饰符;调用所述目标数据缓存对象中的数据存储函数,将所述待共享数据存储至所述目标数据缓存对象中的目标数据对象中,所述目标数据对象的数据结构为键值对数据结构,且键类型和值类型均为字符串类型。

【技术特征摘要】
1.一种活动窗口的数据共享方法,其特征在于,包括:获取待共享数据和目标活动窗口对象对应的目标上下文对象;以所述目标上下文对象为函数输入参数,通过数据缓存类调用对象获取函数,从目标映射关系对象中获取所述目标活动窗口对象对应的目标数据缓存对象,其中,所述目标映射关系对象用于存储活动窗口对象与数据缓存对象之间的映射关系,所述目标映射关系对象具有私有权限修饰符和静态类型修饰符,所述对象获取函数具有私有权限修饰符和静态类型修饰符;调用所述目标数据缓存对象中的数据存储函数,将所述待共享数据存储至所述目标数据缓存对象中的目标数据对象中,所述目标数据对象的数据结构为键值对数据结构,且键类型和值类型均为字符串类型。2.根据权利要求1所述的方法,其特征在于,在以所述目标上下文对象为函数输入参数,通过数据缓存类调用对象获取函数,从映射关系对象中获取所述目标活动窗口对象对应的目标数据缓存对象之前,还包括:在所述数据缓存类的构造函数中,调用第一初始化子函数,初始化预先定义的第一映射关系对象,获得第二映射关系对象;根据各所述活动窗口对象对应的上下文对象,调用哈希码值获取子函数,获取各所述上下文对象的各哈希码值;调用所述第二映射关系对象中的元素添加函数,将各所述哈希码值和对应的各所述数据缓存对象存储至所述第二映射关系对象,获得所述目标映射关系对象。3.根据权利要求1所述的方法,其特征在于,所述对象获取函数通过如下步骤实现所述从目标映射关系对象中获取所述目标活动窗口对象对应的目标数据缓存对象的功能:判断所述对象获取函数的输入参数是否为空对象;若否,则通过所述目标上下文对象,调用哈希码值获取子函数,获取所述目标上下文对象的目标哈希码值;以所述目标哈希码值为函数输入参数,调用所述目标映射关系对象中的对象获取子函数,从所述目标映射关系对象中获取所述目标活动窗口对象对应的目标数据缓存对象。4.根据权利要求1所述的方法,其特征在于,所述数据存储函数通过如下步骤实现所述将所述待共享数据存储至所述目标数据缓存对象中的目标数据对象中的功能:判断所述目标数据缓存对象中的目标数据对象是否为空对象;若是,则调用第二初始化子函数,初始化预先定义的第一数据对象,获得目标数据对象;依据所述待共享数据,调用所述目标数据对象中的数据存储子函数,将所述待共享数据存储至所述目标数...

【专利技术属性】
技术研发人员:张磊陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

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

1