CN113312163B - 页面切换状态监测方法、装置、电子设备及存储介质 - Google Patents

页面切换状态监测方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113312163B
CN113312163B CN202110649602.XA CN202110649602A CN113312163B CN 113312163 B CN113312163 B CN 113312163B CN 202110649602 A CN202110649602 A CN 202110649602A CN 113312163 B CN113312163 B CN 113312163B
Authority
CN
China
Prior art keywords
monitoring
page
state
terminal display
component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110649602.XA
Other languages
English (en)
Other versions
CN113312163A (zh
Inventor
张斌
杨强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Cyber Shenzhen Co Ltd
Original Assignee
Tencent Cyber Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tencent Cyber Shenzhen Co Ltd filed Critical Tencent Cyber Shenzhen Co Ltd
Priority to CN202110649602.XA priority Critical patent/CN113312163B/zh
Publication of CN113312163A publication Critical patent/CN113312163A/zh
Application granted granted Critical
Publication of CN113312163B publication Critical patent/CN113312163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明提供了方法包括:获取对终端显示页面中的内容选择操作,响应于所述选择操作,触发页面生命周期监测组件;通过所述页面生命周期监测组件,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态;基于所述终端显示页面的状态,执行与所述终端显示页面的状态相匹配的信息传输进。本发明还提供了面切换状态监测装置、电子设备及存储介质。本发明能够实现提升了对于页面切换状态监测的效率,减少冗余代码的产生,能够基于终端显示页面的状态,提供更加丰富的应用。

Description

页面切换状态监测方法、装置、电子设备及存储介质
技术领域
本发明涉及信息处理技术,尤其涉及页面切换状态监测方法、装置、电子设备及存储介质。
背景技术
目前,随着移动终端的不断普及与发展,用户可以通过终端进行电子图书或者文件信息的浏览,终端上可以安装各种各样的应用,其中,即时通讯客户端(IM InstantMessaging)可以通过相应的小程序提供读书服务,但是,用户在使用过程中可能会有各种不同的触发操作,来实现对页面中所展示的信息进行处理,服务器必须及时准确地了解用户页面切换的行为,以提供更有针对的产品服务。
发明内容
有鉴于此,本发明实施例提供一种页面切换状态监测方法、装置、电子设备及存储介质,本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种页面切换状态监测方法,所述方法包括:
获取对终端显示页面中的内容选择操作,其中,所述选择操作用于通过按键或触控指令对所述显示页面中的相应展示信息进行处理;
响应于所述选择操作,触发页面生命周期监测组件;
通过所述页面生命周期监测组件,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态;
基于所述终端显示页面的状态,执行与所述终端显示页面的状态相匹配的信息传输进程。
本发明实施例还提供了一种页面切换状态监测装置,所述装置包括:
信息传输模块,用于获取对终端显示页面中的内容选择操作,其中,所述选择操作用于通过按键或触控指令对所述显示页面中的相应展示信息进行处理;
信息处理模块,用于响应于所述选择操作,触发页面生命周期监测组件;
所述信息处理模块,用于通过所述页面生命周期监测组件,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态;
所述信息处理模块,用于基于所述终端显示页面的状态,执行与所述终端显示页面的状态相匹配的信息传输进程。
上述方案中,
所述信息处理模块,用于响应于所述选择操作,触发所述页面生命周期监测组件中的前置状态监测子组件;
所述信息处理模块,用于通过所述前置状态监测子组件,对所述页面生命周期监测组件的状态进行监测;
所述信息处理模块,用于当所述页面生命周期监测组件的状态为可触发时,执行至少以下之一:
通过无状态生命周期监测子组件,对所述选择操作进行监测;
通过有状态生命周期监测子组件,对所述选择操作进行监测。
上述方案中,
所述信息处理模块,用于当触发无状态生命周期监测子组件时,对所述无状态生命周期监测子组件进行初始化处理;
所述信息处理模块,用于基于经过初始化的无状态生命周期监测子组件,监听第一回调函数的回调结果;
所述信息处理模块,用于当确定所述第一回调函数被调用时,获取所述无状态生命周期监测子组件的包裹对象;
所述信息处理模块,用于根据所述无状态生命周期监测子组件的包裹对象所对应父容器的组件属性,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态。
上述方案中,
所述信息处理模块,用于基于经过初始化的无状态生命周期监测子组件,监听第二回调函数的回调结果;
所述信息处理模块,用于基于所述第二回调函数的回调结果,对所述终端显示页面中应用进程的状态进行监测;
所述信息处理模块,用于基于所述第二回调函数的回调结果,对所述终端显示页面中相应展示信息的展示状态进行监测,确定所述终端显示页面中相应展示信息的展示状态为至少以下之一:
部分内容遮挡、全部内容遮挡。
上述方案中,
所述信息处理模块,用于当触发有状态生命周期监测子组件时,对所述有状态生命周期监测子组件进行初始化处理;
所述信息处理模块,用于基于经过初始化的有状态生命周期监测子组件,监听第一回调函数的回调结果;
所述信息处理模块,用于当确定所述第一回调函数被调用时,获取所述有状态生命周期监测子组件的包裹对象;
所述信息处理模块,用于根据所述有状态生命周期监测子组件的包裹对象所对应父容器的组件属性,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态。
上述方案中,
所述信息处理模块,用于通过即时通信客户端侦测目标用户的操作历史;
所述信息处理模块,用于基于所述目标用户的操作历史,对终端显示页面所要展示的经过渲染的展示信息进行调整,以实现通过所述终端显示页面所展示经过渲染的展示信息与目标用户的阅读记录相匹配。
上述方案中,
所述信息处理模块,用于当目标用户调整终端显示页面时,通过即时通讯客户端触发相应的渲染进程;
所述信息处理模块,用于通过所述渲染进程,对待渲染的展示信息进行处理,并且展示经过渲染的展示信息;
所述信息处理模块,用于通过所述页面生命周期监测组件,对所述经过渲染的展示信息的展示过程进行监测。
本发明实施例还提供了一种电子设备所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现前述的页面切换状态监测方法。
本发明实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时实现前序的页面切换状态监测方法。
本发明实施例具有以下有益效果:
本发明实施例通过获取对终端显示页面中的内容选择操作,其中,所述选择操作用于通过按键或触控指令对所述显示页面中的相应展示信息进行处理;响应于所述选择操作,触发页面生命周期监测组件;通过所述页面生命周期监测组件,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态;基于所述终端显示页面的状态,执行与所述终端显示页面的状态相匹配的信息传输进程,由此可以提升了对于页面切换状态监测的效率,减少冗余代码的产生,能够基于终端显示页面的状态,提供更加丰富的应用。
附图说明
图1是本发明实施例提供的页面切换状态监测方法的使用环境示意图;
图2为本发明实施例提供的页面切换状态监测装置的组成结构示意图;
图3为本发明实施例提供的页面切换状态监测方法一个可选的流程示意图;
图4为本发明实施例提供的页面切换状态监测方法一个可选的流程示意图;
图5为本发明实施例提供的页面切换状态监测方法一个可选的流程示意图;
图6为本发明提供的页面切换状态监测方法一个可选显示效果示意图;
图7为本发明实施例提供的页面切换状态监测方法一个可选的流程示意图;
图8为本发明提供的页面切换状态监测方法一个可选显示效果示意图;
图9为本发明实施例提供的页面切换状态监测方法一个可选的流程示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)小程序(Mini Program),是一种基于面向前端的语言(例如JavaScript)开发的、在超文本标记语言(HTML,Hyper Text Markup Language)页面中实现服务的程序,由客户端(例如浏览器或内嵌浏览器核心的任意客户端)经由网络(如互联网)下载、并在客户端的浏览器环境中解释和执行的软件,节省在客户端中安装的步骤。例如,在社交网络客户端中可以下载、运行用于实现机票购买、乘车码等各种服务的小程序。
2)终端,包括但不限于:普通终端、专用终端,其中所述普通终端与发送通道保持长连接和/或短连接,所述专用终端与所述发送通道保持长连接。
3)客户端,终端中实现特定功能的载体,例如移动客户端(APP)是移动终端中特定功能的载体,例如执行线上直播的功能或者是在线视频的播放功能。
4)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
5)渲染环境,用于进行视图渲染的控件,例如对于小程序的渲染环境而言,可以是iOS平台的WKWebView、安卓平台的X5(基于Chrome 53/57内核)。
6)第三方应用进程,基于第三方的开发框架(例如Vue开发框架)针对即时通讯客户端开发的、能够被即时通讯客户端使用的组件。
下面以微信应用程序作为社交环境的即时通讯软件为例对本发明实施例所提供的页面切换状态监测方法进行说明,其中,图1为本发明实施例中的应用环境示意图,参见图1,终端(包括终端10-1和终端10-2)上设置有能够部署作为即时通讯客户端的相应微信客户端,用户通过相应的客户端可以获得不同的展示信息(例如图书信息或者文档信息)并进行展示,并根据选择操作对需要使用的图书信息中或者文档中的展示信息向用户进行呈现;终端通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线链路实现数据传输。
作为一个示例,终端(包括终端10-1和终端10-2)可以用于布设所述页面切换状态监测装置以实现本发明所提供的页面切换状态监测方法,以通过获取对终端显示页面中的内容选择操作,其中,所述选择操作用于通过按键或触控指令对所述显示页面中的相应展示信息进行处理;响应于所述选择操作,触发页面生命周期监测组件;通过所述页面生命周期监测组件,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态;基于所述终端显示页面的状态,执行与所述终端显示页面的状态相匹配的信息传输进程。
当然,本发明所提供的页面切换状态监测装置可以应用于各类型的页面切换状态监测环境(包括但不限于各类型的展示信息查看和展示信息编辑分享环境)或者社交软件(即时通讯客户端)进行信息交互的使用环境,并将最终的页面切换状态监测结果在用户显示页面(User Interface)上呈现,以供用户查看。用户在当前显示页面中获得的展示信息还可以供其他应用程序调用。
传统技术对于页面切换状态进行监测时,相应的检测组件需要通过继承类的方式来感知页面状态,造成冗余代码过多,不方便后期的扩展,同时,页面切换状态的监测结果并不准确,不能及时根据用户的选择提供更好的服务。
下面对本发明实施例的页面切换状态监测装置的结构做详细说明,页面切换状态监测装置可以各种形式来实施,如带有页面切换状态监测装置处理功能的专用终端,也可以为设置有页面切换状态监测装置处理功能的终端,例如前序图1中的终端10-1和终端10-2。图2为本发明实施例提供的页面切换状态监测装置的组成结构示意图,可以理解,图2仅仅示出了页面切换状态监测装置的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。
本发明实施例提供的页面切换状态监测装置包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。页面切换状态监测装置中的各个组件通过总线系统205耦合在一起。可以理解,总线系统205用于实现这些组件之间的连接通信。总线系统205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统205。
其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本发明实施例中的存储器202能够存储数据以支持终端(如10-1)的操作。这些数据的示例包括:用于在终端(如10-1)上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
在一些实施例中,本发明实施例提供的页面切换状态监测装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的页面切换状态监测装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的页面切换状态监测方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
作为本发明实施例提供的页面切换状态监测装置采用软硬件结合实施的示例,本发明实施例所提供的页面切换状态监测装置可以直接体现为由处理器201执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成本发明实施例提供的页面切换状态监测方法。
作为示例,处理器201可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
作为本发明实施例提供的页面切换状态监测装置采用硬件实施的示例,本发明实施例所提供的装置可以直接采用硬件译码处理器形式的处理器201来执行完成,例如,被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件执行实现本发明实施例提供的页面切换状态监测方法。
本发明实施例中的存储器202用于存储各种类型的数据以支持页面切换状态监测装置的操作。这些数据的示例包括:用于在页面切换状态监测装置上操作的任何可执行指令,如可执行指令,实现本发明实施例的从页面切换状态监测方法的程序可以包含在可执行指令中。
在另一些实施例中,本发明实施例提供的页面切换状态监测装置可以采用软件方式实现,图2示出了存储在存储器202中的页面切换状态监测装置,其可以是程序和插件等形式的软件,并包括一系列的模块,作为存储器202中存储的程序的示例,可以包括页面切换状态监测装置,页面切换状态监测装置中包括以下的软件模块:信息传输模块2081和信息处理模块2082。当页面切换状态监测装置中的软件模块被处理器201读取到RAM中并执行时,将实现本发明实施例提供的页面切换状态监测方法,其中,页面切换状态监测装置中各个软件模块的功能,包括:
信息传输模块,用于获取对终端显示页面中的内容选择操作,其中,所述选择操作用于通过按键或触控指令对所述显示页面中的相应展示信息进行处理。
信息处理模块,用于响应于所述选择操作,触发页面生命周期监测组件。
所述信息处理模块,用于通过所述页面生命周期监测组件,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态。
所述信息处理模块,用于基于所述终端显示页面的状态,执行与所述终端显示页面的状态相匹配的信息传输进程。
根据图2所示的电子设备,在本申请的一个方面中,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述页面切换状态监测方法的各种可选实现方式中所提供的不同实施例及实施例的组合。
结合图2示出的页面切换状态监测装置说明本发明实施例提供的页面切换状态监测方法,参见图3,图3为本发明实施例提供的页面切换状态监测方法一个可选的流程示意图,可以理解地,图3所示的步骤可以由运行页面切换状态监测装置的各种电子设备执行,例如可以是如带有页面切换状态监测装置的电子设备或者电子书阅读终端,其中,带有页面切换状态监测装置的专用终端可以封装于图1所示的电子设备10-1或者10-2中,以执行前序图2所示的页面切换状态监测装置中的相应软件模块。下面针对图3示出的步骤进行说明。
步骤301:页面切换状态监测装置获取对终端显示页面中的内容选择操作。
其中,以终端显示页面为电子书阅读环境为例,选择操作可以用于通过按键或触控指令对所述显示界面中的相应文本信息的页面进行切换,达到更换章节的效果,还可以对显示界面中的书籍页面进行切换,达到更换阅读书籍的效果。
步骤302:页面切换状态监测装置响应于所述选择操作,触发页面生命周期监测组件。
在本发明的一些实施例中,响应于所述选择操作,触发页面生命周期监测组件,可以通过以下方式实现:
响应于所述选择操作,触发所述页面生命周期监测组件中的前置状态监测子组件;通过所述前置状态监测子组件,对所述页面生命周期监测组件的状态进行监测;当所述页面生命周期监测组件的状态为可触发时,执行至少以下之一:通过无状态生命周期监测子组件,对所述选择操作进行监测;通过有状态生命周期监测子组件,对所述选择操作进行监测。其中,在Flutter开发中,所有的组件和页面都继承自Widget(微件),在Widget中,也有对应生命周期的一些方法函数。当进行到某一阶段时,会自动回调对应的方法函数。本申请中页面生命周期监测组件包括三部分:前置状态监测子组件(StateLifecycle)、无状态生命周期监测子组件(StatelessLifecycle)以及有状态生命周期监测子组件(StatefulLifecycle)。其中,StatelessLifecycle重写StatelessWidget的createElement方法,可以返回对应的StatelessLifecycleElement;而StatefulLifecycle重写了StatefulWidget的createElement方法,可以返回对应的StatefulLifecycleElement。而StatelessLifecycleElement和StatefulLifecycleElement都重写了build()方法函数,可以返回自定义的类LifecycleRenderObjectWidget,其中LifecycleRenderObjectWidget是SingleChildRenderObjectWidget的子类;其重写了父类的createRenderObejct方法函数,返回了对应的RenderObject类:LifecycleRenderObject。
步骤303:页面切换状态监测装置通过所述页面生命周期监测组件,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态。
在本发明的一些实施例中,通过所述页面生命周期监测组件,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态,可以通过以下方式实现:
当触发无状态生命周期监测子组件时,对所述无状态生命周期监测子组件进行初始化处理;基于经过初始化的无状态生命周期监测子组件,监听第一回调函数的回调结果;当确定所述第一回调函数被调用时,获取所述无状态生命周期监测子组件的包裹对象;根据所述无状态生命周期监测子组件的包裹对象所对应父容器的组件属性,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态。具体来说,参考图4,图4为本发明实施例提供的页面切换状态监测方法一个可选的流程示意图,无状态生命周期监测子组件的页面切换状态监测包括以下步骤:
步骤401:对StatelessLifecycleElement进行初始化。
步骤402:StatelessLifecycleElement执行mount。
步骤403:注册WidgetsBinding、NavigatorObserver进行监听。
其中,当StatelessLifecycleElement初始化时,可以通知外层组件已开始初始化;当StatelessLifecycleElement收到mount()回调函数时,通知外层组件已被挂载上渲染树;收到unmount()回调结果时,通知外层组件即将销毁;当StatelessLifecycleElement的build()方法被调用时,此时通过返回的LifecycleRenderObject可以提供监听paint()回调方法的能力,当paint()方法被调用时,通知外层组件开始被渲染;而LifecycleRenderObject同时也监听了attach()的回调结果,当attach()方法被调用时,判断当前组件是否被RenderIndexedSemantics包裹,然后再判断RenderIndexedSemantics的parentData是否为SilverMultiBoxAdaptorParentData。需要说明的是本申请所提供的页面切换状态监测方法中,KeepAlive组件中attach()方法具有监听的功能,而普通组件并不会触发该功能。
步骤404:LifecycleRenderObject执行paint方法函数。
步骤405:收到didChangeAppLifecycleState回调函数的回调结果。当确定RenderIndexedSemantics的parentData是否为SilverMultiBoxAdaptorParentData,则判断它的keepAlive是否为true,如果是true的话,则表示该组件属于KeepAlive组件,然后判断它的keetAlive属性,如果keepAlive是true的话,则通知外层该组件处于显示的状态,否则通知外层该组件处于不显示的状态。
步骤406:收到didPush回调函数的结果。
步骤407:判断state==AppLifecycleState.paused是否成立。
在本发明的一些实施例中,还可以基于经过初始化的无状态生命周期监测子组件,监听第二回调函数的回调结果;基于所述第二回调函数的回调结果,对所述终端显示页面中应用进程的状态进行监测;基于所述第二回调函数的回调结果,对所述终端显示页面中相应展示信息的展示状态进行监测,确定所述终端显示页面中相应展示信息的展示状态为至少以下之一:部分内容遮挡、全部内容遮挡。
其中,在StatelessLifecycleElement的mount()方法回调中,往WidgetsBinding和NavigatorObserver中注册了监听,以此来获取当前应用进程前后台切换的回调以及路由切换的回调。当收到WidgetsBinding的didChangeAppLifecycleState()回调时,通过判断AppLifecycleState是处于resumed还是paused状态可以知道当前应用是处于前台还是后台。而当收到NavigatorObserver的didPush()和didPop()时候,需要判断Route的类型是PageRoute还是PopupRoute,再读取它的opaque属性值,当opaque为true时,可以判断当前Widget是被其他页面全屏覆盖了;而当opaque为false时,可以判断当前Widget是被部分覆盖了,具体可以包括以下步骤:
步骤408:确定部分内容遮挡。
步骤409:收到didPop回调函数的结果。
步骤410:判断是否被全屏覆盖。
步骤411:StatelessLifecycleElement执行unmount。
步骤412:注销WidgetsBinding、NavigatorObserver的监听。
步骤413:收到didPop回调结果。
步骤414:收到didChangeAppLifecycleState函数的回调结果。
步骤415:判断state==AppLifecycleState.resumed是否成立。
步骤304:页面切换状态监测装置基于所述终端显示页面的状态,执行与所述终端显示页面的状态相匹配的信息传输进程。
在本发明的一些实施例中,当触发有状态生命周期监测子组件时,对所述有状态生命周期监测子组件进行初始化处理;基于经过初始化的有状态生命周期监测子组件,监听第一回调函数的回调结果;当确定所述第一回调函数被调用时,获取所述有状态生命周期监测子组件的包裹对象;根据所述有状态生命周期监测子组件的包裹对象所对应父容器的组件属性,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态。其中,参考图5,参考图5图5为本发明实施例提供的页面切换状态监测方法一个可选的流程示意图,KeepAlive组件的页面切换状态监测包括以下步骤:
步骤501:LifecycleRenderObject执行attach函数。
步骤502:判断LifecycleRenderObject组件是否为RenderIndexedSemantics的子组件。
在判断LifecycleRenderObject组件为RenderIndexedSemantics的子组件时触发步骤503。
步骤503:判断RenderlndexedSemantics的parentData是否是SliverMultiBoxAdaptorParentData。
当判断parentData为SliverMultiBoxAdaptorParentData时,继续判断对应的keepAlive是否为true。
步骤504:判断SliverMultiBoxAdaptorParentData的keepAlive是否为true。
其中,判断结果为true的话,则表示该组件属于KeepAlive组件,然后判断对应的keptAlive属性。
步骤505:判断SliverMultiBoxAdaptorParentData的keptAlive是否为true。
步骤506:根据判定结果,确定显示页面的状态。
下面以展示信息为电子书为例,对本发明的页面切换状态监测方法进行说明,其中,参考图6,图6为本发明提供的页面切换状态监测方法一个可选显示效果示意图,其中,展示信息为电子书,通过即时通讯客户端的阅读应用小程序呈现电子书页面。
下面以展示信息为电子书为例,对本发明的页面切换状态监测方法进行说明,其中,参考图7,图7为本发明实施例提供的页面切换状态监测方法一个可选的流程示意图,针对图7示出的步骤进行说明。
步骤701:服务器通过即时通讯客户端触发相应的渲染进程。
在本发明的一些实施例中,由于终端的使用者可以不同,因此,可以通过即时通信客户端侦测不同用户的操作历史,以记录与不同用户相匹配的内容选择操作;基于所记录的内容选择操作,对通过所述终端显示界面展示经过渲染的文本信息进行更新;当通过所述终端显示界面展示经过渲染的文本信息被新的目标用户唤醒时,调整新的目标用户所记录的操作历史。由此,每一个使用终端阅读文本信息的用户都能够通过所述终端显示界面展示经过渲染的文本信息进行更新,获得所要读取的文本信息,避免目标用户的阅读记录被破坏。
在本发明的一些实施例中,当用户更换阅读终端,或者终端的浏览器进行版本更新时,可以通过即时通信客户端侦测目标用户的操作历史;基于所述目标用户的操作历史,对终端显示界面所要展示的经过渲染的文本信息进行调整,以实现通过所述终端显示界面所展示经过渲染的文本信息与目标用户的阅读记录相匹配。由此,用户可以及时的根据历史记录获得连续的文本信息进行阅读。
步骤702:服务器获取对终端显示页面中的内容选择操作。
其中,控件(control)也称为部件(widget),是用户界面的基本元素,典型的控件有工具栏(toolbar)、菜单栏(menubar)、文本框(text box)、按钮(button)、滚动条(scrollbar)、图片和文本。界面中的控件的属性和内容是通过标签或者节点来定义的,比如XML通过<Textview>、<ImgView>、<VideoView>等节点来规定界面所包含的控件。一个节点对应界面中一个控件或属性,节点经过解析和渲染之后呈现为用户可视的内容。此外,很多应用程序,比如混合应用(hybridapplication)的界面中通常还包含有网页。网页,也称为页面,可以理解为内嵌在应用程序界面中的一个特殊的控件,网页是通过特定计算机语言编写的源代码,例如超文本标记语言,层叠样式表,java脚本(JavaScript,JS)等,网页源代码可以由浏览器或与浏览器功能类似的网页显示组件加载和显示为用户可识别的展示信息。
步骤703:服务器响应于所述选择操作,触发页面生命周期监测组件。
步骤704:服务器对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态。
步骤705:服务器将经过渲染的电子书章节内容发送至终端进行呈现。
如图6所示,当目标用户调整终端显示页面时,通过即时通讯客户端触发相应的渲染进程;通过所述渲染进程,对待渲染的展示信息进行处理,并且展示经过渲染的展示信息;通过所述页面生命周期监测组件,对所述经过渲染的展示信息的展示过程进行监测。
下面以展示信息为游戏信息为例,对本发明的页面切换状态监测方法进行说明,其中,参考图8,图8为本发明提供的页面切换状态监测方法一个可选显示效果示意图,其中,展示信息为各类型的游戏信息,其中,当通过云服务器群组运行云游戏时,游戏可以实现为如:第一人称射击游戏(First Person Shooting Game,FPS)、多人在线战术竞技游戏(Multiplayer Online Battle Arena Games,MOBA)、多人枪战类生存游戏、大逃杀类型的射击游戏等。其中,游戏服务器中预先存储有该云应用程序的运行逻辑,服务器接收终端发送的控制指令后,根据控制指令以及预先存储的运行逻辑,控制云应用程序在服务器中运行,并产生运行画面并在终端显示页面中呈现,当用户对终端显示页面中的内容选择操作时,可以通过本申请提供的页面切换状态监测方法对游戏进程中的页面状态进行监测。
下面以展示图9中的游戏画面为例,对本发明的页面切换状态监测方法进行说明,其中,参考图9,图9为本发明实施例提供的页面切换状态监测方法一个可选的流程示意图,针对图9示出的步骤进行说明。
步骤901:游戏服务器获取对终端显示页面中的内容选择操作指令。
步骤902:游戏服务器响应于所述选择操作指令,根据游戏类型,触发与游戏类型相匹配的页面生命周期监测组件。
步骤903:游戏服务器通过所述页面生命周期监测组件,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态。
步骤904:游戏服务器记录所述终端显示页面的状态,并将所述终端显示页面的状态的变化保存在在目标用户的游戏数据中。
由此,可以通过本申请所提供的页面切换状态监测方法,对游戏进程中页面的变化过程进行监测,游戏服务器还可以保存页面的状态的变化以供用户的查看,基于页面切换状态的监测结果为用户提供更加丰富的使用体验,提升了对于页面切换状态监测的效率。
有益技术效果:
本发明实施例通过获取对终端显示页面中的内容选择操作,其中,所述选择操作用于通过按键或触控指令对所述显示页面中的相应展示信息的章节进行选择;响应于所述选择操作,基于所述展示信息的章节参数,在数据源中获取完整章节的展示信息;根据所述展示信息的章节参数,对所述完整章节的展示信息进行拆分处理;基于所述终端显示页面的显示环境,对经过拆分处理的展示信息进行渲染;通过所述终端显示页面展示经过渲染的展示信息。由此,可以实现根据用户选择操作,灵活展示经过渲染的与终端显示页面相匹配的展示信息,满足了不同使用场景中对于展示信息格式的不同需求,减少了用户对于页面切换状态监测终端的依赖,提升了对于页面切换状态监测的效率。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种页面切换状态监测方法,其特征在于,所述方法包括:
获取对终端显示页面中的内容选择操作,其中,所述选择操作用于通过按键或触控指令对所述显示页面中的相应展示信息进行处理;
响应于所述选择操作,触发页面生命周期监测组件;
当触发所述页面生命周期监测组件包括的无状态生命周期监测子组件时,基于经过初始化的无状态生命周期监测子组件,监听第一回调函数的回调结果;其中,所述第一回调函数用于确定所述无状态生命周期监测子组件的包裹对象;
当确定所述第一回调函数被调用时,根据所述无状态生命周期监测子组件的包裹对象所对应父容器的组件属性,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态;
基于所述终端显示页面的状态,执行与所述终端显示页面的状态相匹配的信息传输进程。
2.根据权利要求1所述的方法,其特征在于,所述响应于所述选择操作,触发页面生命周期监测组件,包括:
响应于所述选择操作,触发所述页面生命周期监测组件中的前置状态监测子组件;
通过所述前置状态监测子组件,对所述页面生命周期监测组件的状态进行监测;
当所述页面生命周期监测组件的状态为可触发时,执行至少以下之一:
通过所述无状态生命周期监测子组件,对所述选择操作进行监测;
通过有状态生命周期监测子组件,对所述选择操作进行监测。
3.根据权利要求1所述的方法,其特征在于,在所述基于经过初始化的无状态生命周期监测子组件,监听第一回调函数的回调结果之前,所述方法还包括:
对所述无状态生命周期监测子组件进行初始化处理;
在所述根据所述无状态生命周期监测子组件的包裹对象所对应父容器的组件属性,对所述终端显示页面的生命周期进行监测之前,所述方法还包括:
获取所述无状态生命周期监测子组件的包裹对象。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述经过初始化的无状态生命周期监测子组件,监听第二回调函数的回调结果;其中,所述第二回调函数用于确定所述终端显示页面中应用进程的前后台状态以及路由类型;
基于所述第二回调函数的回调结果,对所述终端显示页面中应用进程的状态进行监测;
基于所述第二回调函数的回调结果,对所述终端显示页面中相应展示信息的展示状态进行监测,确定所述终端显示页面中相应展示信息的展示状态为至少以下之一:
部分内容遮挡、全部内容遮挡。
5.根据权利要求1所述的方法,其特征在于,当触发所述页面生命周期监测组件包括的有状态生命周期监测子组件时,所述方法还包括:
对所述有状态生命周期监测子组件进行初始化处理;
基于经过初始化的有状态生命周期监测子组件,监听所述第一回调函数的回调结果;其中,所述第一回调函数还用于确定所述有状态生命周期监测子组件的包裹对象;
当确定所述第一回调函数被调用时,获取所述有状态生命周期监测子组件的包裹对象;
根据所述有状态生命周期监测子组件的包裹对象所对应父容器的组件属性,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过即时通信客户端侦测目标用户的操作历史;
基于所述目标用户的操作历史,对所述终端显示页面所要展示的经过渲染的展示信息进行调整,以实现通过所述终端显示页面所展示经过渲染的展示信息与目标用户的阅读记录相匹配。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当目标用户调整所述终端显示页面时,通过即时通讯客户端触发相应的渲染进程;
通过所述渲染进程,对待渲染的展示信息进行处理,并且展示经过渲染的展示信息;
通过所述页面生命周期监测组件,对所述经过渲染的展示信息的展示过程进行监测。
8.一种页面切换状态监测装置,其特征在于,所述装置包括:
信息传输模块,用于获取对终端显示页面中的内容选择操作,其中,所述选择操作用于通过按键或触控指令对所述显示页面中的相应展示信息进行处理;
信息处理模块,用于响应于所述选择操作,触发页面生命周期监测组件;
所述信息处理模块,用于当触发所述页面生命周期监测组件包括的无状态生命周期监测子组件时,基于经过初始化的无状态生命周期监测子组件,监听第一回调函数的回调结果;其中,所述第一回调函数用于确定所述无状态生命周期监测子组件的包裹对象;当确定所述第一回调函数被调用时,根据所述无状态生命周期监测子组件的包裹对象所对应父容器的组件属性,对所述终端显示页面的生命周期进行监测,确定所述终端显示页面的状态;
所述信息处理模块,用于基于所述终端显示页面的状态,执行与所述终端显示页面的状态相匹配的信息传输进程。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现权利要求1至7任一项所述的页面切换状态监测方法。
10.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1至7任一项所述的页面切换状态监测方法。
CN202110649602.XA 2021-06-10 2021-06-10 页面切换状态监测方法、装置、电子设备及存储介质 Active CN113312163B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110649602.XA CN113312163B (zh) 2021-06-10 2021-06-10 页面切换状态监测方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110649602.XA CN113312163B (zh) 2021-06-10 2021-06-10 页面切换状态监测方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113312163A CN113312163A (zh) 2021-08-27
CN113312163B true CN113312163B (zh) 2022-07-29

Family

ID=77378160

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110649602.XA Active CN113312163B (zh) 2021-06-10 2021-06-10 页面切换状态监测方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113312163B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463519A (zh) * 2020-11-05 2021-03-09 广州博恒信息科技有限责任公司 基于Flutter的页面使用行为数据无埋点统计方法、设备及存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8745539B2 (en) * 2011-09-29 2014-06-03 Microsoft Corporation Automatic lifecycle management for pages on a mobile application
CN107870929A (zh) * 2016-09-26 2018-04-03 平安科技(深圳)有限公司 Hybrid框架下应用页面的翻页方法及系统
CN107038245B (zh) * 2017-04-25 2020-12-11 粒度创新科技(苏州)有限公司 页面切换方法、移动终端及存储介质
CN109684578A (zh) * 2018-12-28 2019-04-26 北京字节跳动网络技术有限公司 用于显示信息的方法和装置
CN111767051B (zh) * 2020-06-30 2024-04-16 深圳赛安特技术服务有限公司 一种网络页面的渲染方法及设备
CN112463518A (zh) * 2020-11-05 2021-03-09 广州博恒信息科技有限责任公司 基于Flutter的页面全生命周期监控方法、装置、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112463519A (zh) * 2020-11-05 2021-03-09 广州博恒信息科技有限责任公司 基于Flutter的页面使用行为数据无埋点统计方法、设备及存储介质

Also Published As

Publication number Publication date
CN113312163A (zh) 2021-08-27

Similar Documents

Publication Publication Date Title
US11010538B2 (en) Systems and methods for hosted applications
KR102179149B1 (ko) 페이지 컴포넌트 동적 레이아웃
CN107451162B (zh) 网络资源访问设备、混合设备及方法
US9081757B2 (en) Systems and methods for tracking and updating hosted applications
US10908928B2 (en) Rules-based workflow messaging
CN111796823A (zh) 页面更新、页面展示的方法、装置及页面维护系统
US9749440B2 (en) Systems and methods for hosted application marketplaces
CN104077387A (zh) 一种网页内容显示方法和浏览器装置
CN108304234B (zh) 一种页面展示方法及装置
CN111381920B (zh) 弹窗组件的显示方法、装置以及电子终端
CN115309516A (zh) 一种应用生命周期的检测方法、装置及计算机设备
CN112559934A (zh) 一种页面弹窗显示方法及装置
CN108319474B (zh) 一种页面信息生成方法、装置和设备
CN113792208B (zh) 基于网页的图片交互方法、装置、设备、介质及程序产品
CN110020370B (zh) 在客户端应用中实现动画的方法、装置及动画脚本的框架
CN105183887A (zh) 基于浏览器的数据处理方法和浏览器装置
CN113312163B (zh) 页面切换状态监测方法、装置、电子设备及存储介质
CN108268298B (zh) 桌面图标的生成方法、装置、存储介质及电子设备
CN108304169B (zh) 针对html5应用的实现方法、装置和设备
CN113591000A (zh) 一种浏览器引擎的切换方法和装置及设备
CN114238837A (zh) 网页访问状态确定方法、装置、存储介质及电子设备
CN116932126A (zh) 一种应用嵌入方法、装置、终端、介质及程序产品
CN116320584A (zh) 一种网页视频播放方法、装置、电子设备及存储介质
KR20150035033A (ko) 웹 애플리케이션 실행장치 및 실행방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant