CN109885798A - 一种Android应用的页面刷新方法 - Google Patents
一种Android应用的页面刷新方法 Download PDFInfo
- Publication number
- CN109885798A CN109885798A CN201910120137.3A CN201910120137A CN109885798A CN 109885798 A CN109885798 A CN 109885798A CN 201910120137 A CN201910120137 A CN 201910120137A CN 109885798 A CN109885798 A CN 109885798A
- Authority
- CN
- China
- Prior art keywords
- page
- broadcast
- refreshing instruction
- broadcasting transmitter
- refreshing
- 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.)
- Pending
Links
Abstract
本发明公开了一种Android应用的页面刷新方法,能在第一页面执行业务操作时,利用第二页面的广播接收器监听第一页面的广播发送器,并在监听到广播后且在第二页面处于激活状态时,根据广播生成刷新指令,以便于对第二页面执行相应的刷新操作。本发明还公开了一种Android应用的页面刷新设备、系统及计算机可读存储介质。可见,本发明利用页面的广播接收器实现监听过程,由于广播接收器不会超过该页面的生命周期,因此避免了内存泄漏的问题,此外,页面在收到广播后不会立即执行刷新,而是等到页面处于激活状态时才执行刷新,不但避免了大量页面同时刷新导致内存开销过大的问题,还提高了用户使用体验。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种Android应用的页面刷新方法、设备、系统及计算机可读存储介质。
背景技术
我们经常会遇到这样的一个业务场景:从一个页面A跳转到页面N(中间有一个或多个页面),并在页面N完成了某个业务逻辑,然后回到页面A后,在页面A生命周期内可见时执行刷新页面或其他业务逻辑。理想的情况下是:在页面A生命周期内可见时去刷新页面,页面A不可见时不刷新。
传统的技术方案为:创建一个具有全局生命周期的单例Z,页面A注册一个监听器到Z,在页面A跳转到页面N时,页面N执行业务逻辑操作,并在执行完成后通过Z通知所有注册了监听器的页面(包括页面A),页面A在收到通知后立即执行刷新。
然而,传统的技术方案存在诸多问题:第一,当多个页面都注册监听器到单例Z时,容易丢落反注册,发生内存泄漏;第二,如果多个页面注册同一个事件的监听,那么当页面N通过单例Z通知其他页面时,所有注册页面会同时进行刷新,因此必定带来不小的内存开销或损耗性能;第三,如果页面A在不可见时收到了通知做一些界面(如果一些视图音页面不可见而回收了)相关的操作,还会有可能引发崩溃,以上三点问题会随着监听器的数量的增加而越发严重。
可见,传统的页面刷新方式容易丢落反注册而造成内存泄漏,且由于在监听到某个业务逻辑执行结束后,大量页面会立即且同时执行刷新操作,因此极大的增加了内存开销,甚至引发崩溃。
发明内容
本发明的主要目的在于提供一种Android应用的页面刷新方法、设备、系统及计算机可读存储介质,旨在解决传统的页面刷新方法中大量页面都注册监听器到单例中,容易造成内存泄漏,且由于在监听到某个业务逻辑执行结束后,大量页面会立即且同时执行刷新操作,因此极大的增加了内存开销,甚至引发崩溃的技术问题。
为实现上述目的,本发明提供了一种Android应用的页面刷新方法,所述方法包括:
在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听所述第一页面的广播发送器,其中,所述第一页面与所述第二页面为同一Android应用的页面,且所述第一页面为从所述第二页面经过一次或多次页面跳转得到的页面,所述广播发送器用于在所述第一页面执行完所述业务操作后发送广播;
若监听到所述广播发送器发送的广播,则在所述第二页面处于激活状态时,根据所述广播生成刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作。
可选的,所述若监听到所述广播发送器发送的广播,则在所述第二页面处于激活状态时,根据所述广播生成刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作,具体包括:
若监听到所述广播发送器发送的广播,则根据所述广播更新在所述第二页面中与所述业务操作相对应的对象所持有的数据;
接收所述对象发送的刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作,其中,所述对象用于在自身持有的数据被更新后,生成所述刷新指令,并在监测到所述第二页面处于激活状态时,发出所述刷新指令。
可选的,所述第二页面中预先创建有多个对象,各个所述对象用于持有不同的业务操作的数据。
可选的,所述第二页面中的对象的生命周期等于所述第二页面的生命周期。
可选的,所述接收所述对象发送的刷新指令,具体包括:
利用预先创建的ViewModel对象接收LiveData对象发送的刷新指令,其中,所述ViewModel对象中设置有响应于所述刷新指令执行的刷新函数。
可选的,所述广播发送器具体用于:
在所述第一页面执行完所述业务操作后,向所述Android应用中注册有广播接收器的多个页面发送本地广播。
为实现上述目的,本发明进一步提供了一种Android应用的页面刷新设备,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如下方法:
在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听所述第一页面的广播发送器,其中,所述第一页面与所述第二页面为同一Android应用的页面,且所述第一页面为从所述第二页面经过一次或多次页面跳转得到的页面,所述广播发送器用于在所述第一页面执行完所述业务操作后发送广播;
若监听到所述广播发送器发送的广播,则在所述第二页面处于激活状态时,根据所述广播生成刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作。
可选的,所述计算机程序被所述处理器执行时具体实现:
若监听到所述广播发送器发送的广播,则根据所述广播更新在所述第二页面中与所述业务操作相对应的对象所持有的数据;
接收所述对象发送的刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作,其中,所述对象用于在自身持有的数据被更新后,生成所述刷新指令,并在监测到所述第二页面处于激活状态时,发出所述刷新指令。
为实现上述目的,本发明还提供了一种Android应用的页面刷新系统,所述系统包括:
监听单元:用于在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听所述第一页面的广播发送器,其中,所述第一页面与所述第二页面为同一Android应用的页面,且所述第一页面为从所述第二页面经过一次或多次页面跳转得到的页面,所述广播发送器用于在所述第一页面执行完所述业务操作后发送广播;
刷新单元:用于在监听到所述广播发送器发送的广播时,且在所述第二页面处于激活状态时,根据所述广播生成刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作。
为实现上述目的,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序可被一个或者多个处理器执行,以实现如上所述的一种Android应用的页面刷新方法。
本发明所提供的一种Android应用的页面刷新方法,能够在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听第一页面的广播发送器,并在监听到广播发送器发送的广播后,且在第二页面处于激活状态时,根据广播生成刷新指令,以便于根据刷新指令对第二页面执行相应的刷新操作。可见,该方法利用监听页面自身的广播接收器结合被监听页面的广播发送器实现监听过程,广播接收器不会超过监听页面的生命周期,因此避免了内存泄漏的问题,此外,监听页面在收到广播后不会立即执行刷新,而是等到页面处于激活状态时才执行刷新,因此一方面避免了大量页面同时刷新导致内存开销过大的问题,另一方面在页面可见时执行刷新更符合用户习惯,提高了用户使用体验。
此外,本发明还提供了一种Android应用的页面刷新设备、系统及计算机可读存储介质,其作用与上述方法相对应,这里不再赘述。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的一种Android应用的页面刷新方法实施例一的流程示意图;
图2为本发明提供的一种Android应用的页面刷新方法实施例二的流程示意图;
图3为本发明提供的一种Android应用的页面刷新方法实施例二的过程示意图;
图4为本发明提供的一种Android应用的页面刷新设备的结构示意图;
图5为本发明提供的一种Android应用的页面刷新系统实施例的功能框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
本发明提供了一种Android应用的页面刷新方法。
参照图1,图1为本发明提供的一种Android应用的页面刷新方法实施例一的实现流程图,在实施例一中,该方法具体包括:
步骤S11:在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听第一页面的广播发送器。
其中,第一页面与第二页面为同一Android应用的页面,且第一页面为从第二页面经过一次或多次页面跳转得到的页面,也就是说,第一页面与第二页面为在业务逻辑上相关的页面。上述第一页面预先注册有广播发送器,该广播发送器用于在第一页面执行完上述业务操作后发送广播,相应的,第二页面预先注册有广播接收器,广播接收器用于但不限于接收第一页面的广播发送器发送的广播。这里的广播为Android系统中一种组件,广播可以用作进程间通信,也可以用作进程内部的组件之间的消息传递。
步骤S12:若监听到该广播发送器发送的广播,则在第二页面处于激活状态时,根据接收到的广播生成刷新指令,以便于根据刷新指令对第二页面执行相应的刷新操作。
上述广播发送器发送的广播中包括但不限于上述业务操作完成的信号,还可以包括与上述业务操作相关的业务数据,后续在执行刷新操作时可以依据该业务数据执行刷新,也就是说,广播中可以包含了对页面刷新的内容的限定,因此,在生成刷新指令时需要根据广播生成。上述激活状态,具体可以为STARTED状态或RESUMED状态,第二页面处于激活状态表明第二页面处于用户可见的状态。需要说明的是,本实施例不限定执行刷新操作的对象。
本实施例所提供的一种Android应用的页面刷新方法,能够利用监听页面自身的广播接收器结合被监听页面的广播发送器实现监听过程,由于广播接收器不会超过监听页面的生命周期,因此避免了内存泄漏的问题,此外,监听页面在收到广播后不会立即执行刷新,而是等到页面处于激活状态时才执行刷新,因此一方面避免了大量页面同时刷新导致内存开销过大的问题,另一方面在页面可见时执行刷新更符合用户习惯,提高了用户使用体验。
参见图2,图2为本发明提供的一种Android应用的页面刷新方法实施例二的实现流程图。
如图2所示,实施例二提供的方法具体包括以下步骤:
步骤S21:在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听第一页面的广播发送器。
作为一种可选的实施方式,在第一页面的业务操作执行完成后,第一页面的广播发送器可以发出本地广播(localbroadcast),也就是说,向当前的Android应用中注册了广播接收器的页面(包括但不限于第二页面)发送广播,具体可以为当前的Android应用中所有注册了广播接收器的页面,从而保证其他应用无法接收该广播,提高安全性。
步骤S22:若监听到所述广播发送器发送的广播,则根据广播更新在第二页面中与业务操作相对应的对象所持有的数据。
如上所述,第一页面可以向当前的Android应用中所有注册了广播接收器的页面发送广播,但是,对于一个页面来说,接收到的广播可能并非都是必要的。因此,实际上,本实施例预先规定了第二页面(包括但不限于第二页面)需要监听哪些业务操作,对于需要监听的业务操作的广播,我们认为是必要的,反之,则认为是无用的。具体的,本实施例预先设置了第二页面与第一页面中上述业务操作为监听者与被监听者的关系,因此,在接收到与该业务操作相关的广播后,需要执行后续的刷新操作。对于其他的监听关系设置,可以根据业务逻辑或实际需求来确定,本实施例不再展开介绍。
作为一种可选的实施方式,本实施例通过预先创建的对象来监听业务操作,具体的,预先在第二页面创建多个对象,各个对象分别对应不同的业务操作,对象用于持有相应业务操作的相关数据。当第二页面的广播接收器接收到广播后,先确定该广播与哪个业务操作相关,再判断第二页面是否需要监听这个业务操作,若需要,则找到用于持有该业务操作的相关数据的对象,并利用广播中的数据更新该对象所持有的数据。
此外,需要说明的是,本实施例赋予了上述对象感知页面生命周期的能力,当对象持有的数据被更新后,该对象会监测第二页面的状态,并且在监测到第二页面处于激活状态时,会发出刷新指令,触发后续的对第二页面的刷新操作。具体的,可以将对象与第二页面的生命周期进行绑定,或者说,将对象的生命周期设置为等于第二页面的生命周期。
具体的,本实施例选取LiveData作为上述对象,LiveData是一个数据持有类,具有以下特点:第一,数据可以被观察者订阅;第二,能够感知组件(Fragment、Activity、Service)的生命周期;第三,只有在组件出于激活状态(STARTED、RESUMED)才会通知观察者有数据更新。可见,LiveData符合本实施例的需求,但这仅仅作为一种可选的实施方式,本实施例不限定对象为LiveData。
步骤S23:接收所述对象发送的刷新指令。
如上所述,对象在自身持有的数据被更新后,会监测第二页面的生命周期,并在监测到第二页面处于激活状态时,发出刷新指令。具体的,上述刷新指令为依据广播(或者说是对象自身持有的数据)生成的,具体的生成时间可以为在感应到自身持有的数据被更新后,还可以在监测到第二页面处于激活状态后,本实施例对此不做限定。
参见图3,图3为本发明提供的一种Android应用的页面刷新方法实施例二的过程示意图,具体的,可以在第二页面设置ViewModel对象,并在ViewModel对象中创建上述与多个业务操作对应的对象,在上述对象发出刷新指令后,ViewModel对象接收到该刷新指令,然后ViewModel对象调用预先设置的响应于刷新指令执行的刷新函数,通过调用该刷新函数执行对第二页面的刷新操作。此外,在第二页面创建ViewModel对象时,将ViewModel对象与第二页面的生命周期进行绑定。
步骤S24:根据刷新指令,调用预设刷新方法对第二页面执行刷新操作。
上文介绍了一种Android应用的页面刷新方法实施例二,下面结合实际应用场景介绍实施例二的实施方式,需要说明,以下应用场景仅作为一种可选的场景,用于说明实施例二的实施过程,并不作为实施例二的必要因素。该应用场景为:
假设有一个Android视频APP,它有一个存放视频播放记录的页面A,当前有一个业务逻辑是,从播放记录页面A点击某个视频,进入视频的详情页B,点击播放按钮,进入播放页C,并播放一段时间,然后退出播放页C和退出视频详情页B,回到播放记录页面A,并在A页面可见时执行页面刷新。
该应用场景中,实施例二的实施过程包括:
预先在页面A创建ViewModel对象,在ViewModel对象中创建LiveData对象,并设置该LiveData对象订阅页面C中与播放记录相关的数据。在页面播放记录页面A中注册一个广播接收器,在播放页C播放完视频拿到新的播放记录数据后,通过广播发送器通知所有注册了的页面,包括播放记录页面A,页面A通过广播接收器接收到广播后,更新LiveData对象持有的数据,LiveData对象在页面A处于激活状态时,触发对页面A的刷新操作。
综上所述,本实施例提供的一种Android应用的页面刷新方法,巧妙的结合了ViewModel、LiveData和本地广播的特点,实现了一种高效的页面刷新方法,避免了传统的页面刷新方法的诸多避免,降低了内存损耗,提高了用户使用体验。
本发明提供了一种Android应用的页面刷新设备。
参见图4,图4为本发明提供的一种Android应用的页面刷新设备实施例的结构示意图。
如图4所示,该Android应用的页面刷新设备40实施例具体包括:存储器41和处理器42,所述存储器41上存储有可在所述处理器42上运行的计算机程序,所述计算机程序被所述处理器42执行时实现如下方法:
在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听所述第一页面的广播发送器,其中,所述第一页面与所述第二页面为同一Android应用的页面,且所述第一页面为从所述第二页面经过一次或多次页面跳转得到的页面,所述广播发送器用于在所述第一页面执行完所述业务操作后发送广播;
若监听到所述广播发送器发送的广播,则在所述第二页面处于激活状态时,根据所述广播生成刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作。
其中,存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器41在一些实施例中可以是Android应用的页面刷新设备40的内部存储单元,例如该Android应用的页面刷新设备40的硬盘。存储器41在另一些实施例中也可以是Android应用的页面刷新设备40的外部存储设备,例如Android应用的页面刷新设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器41还可以既包括Android应用的页面刷新设备40的内部存储单元也包括外部存储设备。存储器41不仅可以用于存储安装于Android应用的页面刷新设备40的应用软件及各类数据,例如计算机程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器42在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器41中存储的程序代码或处理数据,例如执行计算机程序等。
用于连接存储器41和处理器42的总线可以是外设部件互连标准(peripheralcomponent interconnect,简称PCI)总线或扩展工业标准结构(extended industrystandard architecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本实施例中,上述一种Android应用的页面刷新设备40可以是PC(PersonalComputer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机、智能路由器、矿机、网络存储设备、终端设备。
作为一种可选的实施方式,所述计算机程序被所述处理器42执行时具体实现:
若监听到所述广播发送器发送的广播,则根据所述广播更新在所述第二页面中与所述业务操作相对应的对象所持有的数据;
接收所述对象发送的刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作,其中,所述对象用于在自身持有的数据被更新后,生成所述刷新指令,并在监测到所述第二页面处于激活状态时,发出所述刷新指令。
参见图5,图5为本发明提供的一种Android应用的页面刷新系统实施例的功能框图。
如图5所示,Android应用的页面刷新系统具体包括:
监听单元51:用于在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听所述第一页面的广播发送器,其中,所述第一页面与所述第二页面为同一Android应用的页面,且所述第一页面为从所述第二页面经过一次或多次页面跳转得到的页面,所述广播发送器用于在所述第一页面执行完所述业务操作后发送广播;
刷新单元52:用于在监听到所述广播发送器发送的广播时,且在所述第二页面处于激活状态时,根据所述广播生成刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作。
最后,本发明提供了一种计算机可读存储介质。该计算机可读存储介质上存储有计算机程序,所述计算机程序可被一个或者多个处理器执行,以实现如上所述的一种Android应用的页面刷新方法。
所述计算机程序包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站、站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种Android应用的页面刷新方法,其特征在于,所述方法包括:
在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听所述第一页面的广播发送器,其中,所述第一页面与所述第二页面为同一Android应用的页面,且所述第一页面为从所述第二页面经过一次或多次页面跳转得到的页面,所述广播发送器用于在所述第一页面执行完所述业务操作后发送广播;
若监听到所述广播发送器发送的广播,则在所述第二页面处于激活状态时,根据所述广播生成刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作。
2.如权利要求1所述的方法,其特征在于,所述若监听到所述广播发送器发送的广播,则在所述第二页面处于激活状态时,根据所述广播生成刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作,具体包括:
若监听到所述广播发送器发送的广播,则根据所述广播更新在所述第二页面中与所述业务操作相对应的对象所持有的数据;
接收所述对象发送的刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作,其中,所述对象用于在自身持有的数据被更新后,生成所述刷新指令,并在监测到所述第二页面处于激活状态时,发出所述刷新指令。
3.如权利要求2所述的方法,其特征在于,所述第二页面中预先创建有多个对象,各个所述对象用于持有不同的业务操作的数据。
4.如权利要求3所述的方法,其特征在于,所述第二页面中的对象的生命周期等于所述第二页面的生命周期。
5.如权利要求4所述的方法,其特征在于,所述接收所述对象发送的刷新指令,具体包括:
利用预先创建的ViewModel对象接收LiveData对象发送的刷新指令,其中,所述ViewModel对象中设置有响应于所述刷新指令执行的刷新函数。
6.如权利要求1-5任意一项所述的方法,其特征在于,所述广播发送器具体用于:
在所述第一页面执行完所述业务操作后,向所述Android应用中注册有广播接收器的多个页面发送本地广播。
7.一种Android应用的页面刷新设备,其特征在于,所述设备包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如下方法:
在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听所述第一页面的广播发送器,其中,所述第一页面与所述第二页面为同一Android应用的页面,且所述第一页面为从所述第二页面经过一次或多次页面跳转得到的页面,所述广播发送器用于在所述第一页面执行完所述业务操作后发送广播;
若监听到所述广播发送器发送的广播,则在所述第二页面处于激活状态时,根据所述广播生成刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作。
8.如权利要求7所述的设备,其特征在于,所述计算机程序被所述处理器执行时具体实现:
若监听到所述广播发送器发送的广播,则根据所述广播更新在所述第二页面中与所述业务操作相对应的对象所持有的数据;
接收所述对象发送的刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作,其中,所述对象用于在自身持有的数据被更新后,生成所述刷新指令,并在监测到所述第二页面处于激活状态时,发出所述刷新指令。
9.一种Android应用的页面刷新系统,其特征在于,所述系统包括:
监听单元:用于在第一页面执行业务操作的过程中,利用第二页面的广播接收器监听所述第一页面的广播发送器,其中,所述第一页面与所述第二页面为同一Android应用的页面,且所述第一页面为从所述第二页面经过一次或多次页面跳转得到的页面,所述广播发送器用于在所述第一页面执行完所述业务操作后发送广播;
刷新单元:用于在监听到所述广播发送器发送的广播时,且在所述第二页面处于激活状态时,根据所述广播生成刷新指令,以便于根据所述刷新指令对所述第二页面执行相应的刷新操作。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序可被一个或者多个处理器执行,以实现如权利要求1至6中任一项所述的一种Android应用的页面刷新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910120137.3A CN109885798A (zh) | 2019-02-18 | 2019-02-18 | 一种Android应用的页面刷新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910120137.3A CN109885798A (zh) | 2019-02-18 | 2019-02-18 | 一种Android应用的页面刷新方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109885798A true CN109885798A (zh) | 2019-06-14 |
Family
ID=66928250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910120137.3A Pending CN109885798A (zh) | 2019-02-18 | 2019-02-18 | 一种Android应用的页面刷新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109885798A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399872A (zh) * | 2020-02-28 | 2020-07-10 | 北京无限光场科技有限公司 | 页面更新方法、装置和电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120284611A1 (en) * | 2009-03-31 | 2012-11-08 | International Business Machines Corporation | Selective partial updates of web content |
CN104123181A (zh) * | 2014-07-10 | 2014-10-29 | 深圳市云宙多媒体技术有限公司 | 一种界面切换到后台运行自动刷新数据的方法和系统 |
CN104750817A (zh) * | 2015-03-31 | 2015-07-01 | 微梦创科网络科技(中国)有限公司 | 一种基于数据广播通信的页面模块刷新方法和装置 |
CN108399222A (zh) * | 2018-02-11 | 2018-08-14 | 北京奇艺世纪科技有限公司 | 一种页面刷新方法及装置 |
-
2019
- 2019-02-18 CN CN201910120137.3A patent/CN109885798A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120284611A1 (en) * | 2009-03-31 | 2012-11-08 | International Business Machines Corporation | Selective partial updates of web content |
CN104123181A (zh) * | 2014-07-10 | 2014-10-29 | 深圳市云宙多媒体技术有限公司 | 一种界面切换到后台运行自动刷新数据的方法和系统 |
CN104750817A (zh) * | 2015-03-31 | 2015-07-01 | 微梦创科网络科技(中国)有限公司 | 一种基于数据广播通信的页面模块刷新方法和装置 |
CN108399222A (zh) * | 2018-02-11 | 2018-08-14 | 北京奇艺世纪科技有限公司 | 一种页面刷新方法及装置 |
Non-Patent Citations (2)
Title |
---|
CHENHAO911X: ""LiveData"", pages 1, Retrieved from the Internet <URL:《http://www.jianshu.com/p/2fa0aa513a32》> * |
余亚军: ""LiveData+ViewModel+Room(Google官文)+Demo"", pages 2, Retrieved from the Internet <URL:《http://www.jianshu.com/p/9516a3c08a25》> * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111399872A (zh) * | 2020-02-28 | 2020-07-10 | 北京无限光场科技有限公司 | 页面更新方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107817995B (zh) | 一种后台静默启动应用的方法、装置及终端设备 | |
US11221743B2 (en) | Information processing method, terminal, server, and computer storage medium | |
CN110457078B (zh) | 智能服务方法、装置及设备 | |
CN108287647B (zh) | 一种应用运行方法及装置 | |
CN108847976A (zh) | 配网控制方法、移动终端、设备及计算机可读存储介质 | |
CN106844026A (zh) | 一种清理终端设备进程的方法及系统 | |
CN111132132A (zh) | 一种流量管理方法、装置及终端设备 | |
CN112860322A (zh) | 操作系统切换方法、装置、设备和存储介质 | |
CN109885798A (zh) | 一种Android应用的页面刷新方法 | |
CN114257532A (zh) | 服务端状态探测方法及装置 | |
CN111063350B (zh) | 基于任务栈的语音交互状态机及其实现方法 | |
CN104363257B (zh) | 一种用户界面数据刷新方法和设备 | |
CN104753961A (zh) | 一种多媒体数据的处理方法、客户端及服务器 | |
CN108924128A (zh) | 一种移动终端及其进程间通信的限制方法、存储介质 | |
CN108011860A (zh) | 一种处理广播消息的方法及装置 | |
CN111107147A (zh) | 一种消息推送方法及装置 | |
JP2021009667A (ja) | 妨害回避の処理方法、装置及び記憶媒体 | |
CN108551429A (zh) | 应用程序的流量控制方法、电子装置及计算机可读存储介质 | |
CN114499618A (zh) | 投屏方法、装置、电子设备和计算机可读存储介质 | |
CN109032814A (zh) | 一种移动终端及其进程间通信的监控方法、存储介质 | |
CN110457077B (zh) | 智能服务方法、装置及设备 | |
CN109561196A (zh) | 一种双屏显示的方法、移动终端及存储介质 | |
CN107704151A (zh) | 阅读提醒方法、装置、系统及存储介质 | |
CN109697041A (zh) | 一种双屏显示的方法、移动终端及存储介质 | |
CN108600044A (zh) | 一种接口状态获取方法、装置及设备 |
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 |