一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种应用程序用户界面的更新方法及装置与流程

2022-06-05 06:13:57 来源:中国专利 TAG:


1.本发明涉及操作系统技术领域,特别涉及一种应用程序用户界面的更新方法及装置。


背景技术:

2.原生android系统提供了动态overlay技术,android overlay技术允许在不修改packages中apk的情况下,来自定义framework和package中的资源文件,实现资源的定制,来达到显示不同的ui的目的。可以在android系统运行阶段动态替换存储在应用程序res目录下的文件,进而使应用程序可以在相同的界面下展示出不同的ui效果,例如不同的ui背景图片、展示不同的动画、视频、文字的变化等。
3.现有的android overlay技术,当有资源文件发生更新,使用更新后的资源文件替换原有的资源文件后,需要重启整个应用程序,才能实现对应用程序ui的刷新,重启应用程序是一个复杂的过程,而整个重启过程只有应用程序加载ui界面资源的操作是“有效”操作,其余操作都是为了重新加载ui界面资源而引入的“多余”操作。
4.对于某些应用场景来说,对应用程序ui的刷新速度有较高的要求,而现有的android overlay技术,由于需要重启整个应用程序,稍有迟滞就会会大大降低用户体验。


技术实现要素:

5.鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序用户界面的更新方法及装置。
6.第一方面,本发明实施例提供一种应用程序用户界面的更新方法,应用于操作系统,包括:
7.基于检测到应用程序的资源文件发生更新,查询所述应用程序当前是否处于前台活动状态;
8.基于所述应用程序处于前台活动状态,发出与所述应用程序对应的资源更新通知,以使得所述应用程序根据所述资源更新通知,重新加载更新后的资源文件中与用户界面相关的资源文件以刷新所述应用程序的用户界面。
9.在一个实施例中,所述应用程序根据所述资源更新通知,在预设的应用程序组件的activity基类中,对所述应用程序的所有用户界面重新加载更新后的资源文件。
10.在一个实施例中,发出与所述应用程序对应的资源更新通知,包括:
11.通过操作系统的onconfigurechanged通知,向所述应用程序发出资源更新通知;
12.所述onconfigurechanged通知中有包含预先定义的资源文件更新消息。
13.在一个实施例中,所述操作系统查询应用程序当前是否处于前台活动状态,包括:
14.通过窗口管理组件windowsmanagerservice查询当前系统中所有处于前台活动状态的应用程序,根据查询到的结果判断发生资源文件更新的应用程序当前是否处于前台活动状态。
15.在一个实施例中,操作系统检测到应用程序的资源文件发生更新之后,还包括:
16.若查询到所述应用程序当前由后台运行状态转变为前台活动状态,则向应用程序发出所述对应的资源更新通知。
17.第二方面,本发明实施例提供一种应用程序用户界面的更新装置,包括:
18.检测模块,用于检测应用程序的资源文件是否发生更新;
19.活动状态查询模块,用于基于检测到应用程序的资源文件发生更新,查询所述应用程序当前是否处于前台活动状态;
20.通知模块,用于基于查询模块查询所述应用程序处于前台活动状态,则向所述应用程序发出其对应的资源更新通知,以使得所述应用程序根据所述资源更新通知,重新加载更新后的资源文件中与用户界面相关的资源文件以刷新所述应用程序的用户界面。
21.在一个实施例中,所述通知模块,用于通过操作系统的onconfigurechanged通知,向所述应用程序发出资源更新通知;所述onconfigurechanged通知中有包含预先定义的资源文件更新消息。
22.在一个实施例中,所述活动状态查询模块,用于通过窗口管理组件windowsmanagerservice查询当前系统中所有处于前台活动状态的应用程序,根据查询到的结果判断发生资源文件更新的应用程序当前是否处于前台活动状态。
23.第三方面,本发明实施例提供一种设备,所述设备包括存储器和处理器;其中,所述存储器存储有计算机程序,所述程序被处理器执行时能够实现如前述的应用程序用户界面的更新方法。
24.第四方面,本发明实施例提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由系统芯片的处理器执行时,使得处理器能够执行如前述的硬件驱动的方法。
25.本发明实施例提供的上述技术方案的有益效果至少包括:
26.本发明实施例提供的应用程序用户界面的更新方法,操作系统在检测到应用程序的资源文件发生更新时,即通知处于前台活动状态的应用程序,重新加载与用户界面相关的资源文件,以完成应用程序的应用界面的快速刷新,避免现有技术中通过重启整个应用程序完成用户界面的刷新所带来的刷新延迟影响用户体验的问题,同时避免了一些不必要的操作,节约了系统资源。
27.本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
28.下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
29.附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
30.图1为本发明实施例中应用程序用户界面的更新方法的流程示意图;
31.图2为本发明实施例中应用程序用户界面的更新装置。
具体实施方式
32.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
33.针对现有android overlay技术中,当应用程序的资源文件发生更新,需要重启整个程序,才能实现应用程序ui的刷新所导致的降低用户体验的问题,本发明实施例提供了一种应用程序用户界面的更新方法,该方法应用于操作系统,参照图1所示,包括:
34.s11、基于检测到应用程序的资源文件发生更新,查询所述应用程序当前是否处于前台活动状态;若处于前台活动状态,则执行下述步骤s12;
35.s12、发出与所述应用程序对应的资源更新通知,以使得所述应用程序根据所述通知,重新加载更新后的资源文件中与用户界面相关的资源文件以刷新所述应用程序的用户界面。
36.操作系统以安卓(andriod)系统为例,资源文件存储的res目录存放有andriod系统应用所需的资源,包括图片资源、图标资源、字符串资源、颜色资源、尺寸资源等,不同类别的资源文件放置于不同的文件夹内。这些资源文件,有些是与用户界面(ui)直接相关的,有些是与用户界面并不直接相关的(以下简称非与用户界面相关的)。
37.由于应用程序更新的资源文件中,必然包含与用户界面相关的,而不必然包含非与用户界面相关的。在本发明实施例上述步骤s12中,应用程序在接收到资源更新通知时,针对资源文件中与用户界面相关的那部分,重新加载以刷新该应用程序的用户界面,而对于资源文件中非与用户界面相关的部分,则不必在用户界面相关的资源文件的加载同时即进行加载,可以在应用程序需要时再完成重新加载。
38.本发明实施例提供的应用程序用户界面的更新方法,操作系统在检测到应用程序的资源文件发生更新时,即通知应用程序,重新加载与用户界面相关的资源文件,以完成应用程序的应用界面的快速刷新,避免现有技术中通过重启整个应用程序完成用户界面的刷新所带来的刷新延迟影响用户体验的问题,同时避免了一些不必要的操作,节约了系统资源。
39.在一个实施例中,应用程序根据所述资源更新通知,在预设的应用程序组件的activity基类中,对应用程序的所有用户界面重新加载更新后的资源文件。
40.android系统框架中,所有activity都会继承于一个基类activity,在该基类中主要包含activity共有的逻辑。在基类中,重新加载资源文件,可以保证界面显示的兼容性,不会出现部分资源文件在某些界面中未正常刷新的情况。
41.对于应用程序的所有用户界面,包括前台活动状态的用户界面,以及后台隐藏未显示的用户界面,都需要重新加载资源文件,以更新所有的界面。
42.在步骤s12中,为了节约系统资源,与现有android系统兼容,可以复用现有的andriod系统通知,例如通过andriod系统的配置已更改(onconfigurechanged)通知来向应用程序发出资源更新通知;在onconfigurechanged通知中包含预先定义的资源文件更新消息。
43.现有andriod系统中的onconfigurechanged通知是用于在应用程序显示界面的尺
寸,分辨率等发生变化时通知应用程序的系统消息。本发明实施例对onconfigurechanged进行了改进,在原来的onconfigurechanged的内容的基础上增加了一套消息,用来通知应用程序资源文件发生变化的情况。
44.在一个实施例中,上述步骤s11中,操作系统可通过下述方式查询应用程序当前是否处于前台活动状态:
45.操作系统通过窗口管理组件(windowsmanagerservice)组件查询当前系统中所有处于前台活动状态的应用程序,根据查询到的结果判断发生资源文件更新的应用程序当前是否处于前台活动状态。
46.windowsmanagerservice组件主要负责管理窗口,通过windowsmanagerservice组件可以查询到当前系统正在显示以及处于后台的所有应用程序组件,可以通过windowsmanagerservice判断当前有资源文件更新的应用程序是否处于前台活动状态。
47.在一个实施例中,资源文件发生更新的应用程序,若当前未处于前台活动状态,则暂时不会通知该应用程序重新加载更新的资源文件,但若查询到所述应用程序当前由后台运行状态转变为前台活动状态,则立即向应用程序发出对应的资源更新通知。这样,方便应用程序及时重新加载更新后的资源文件以刷新应用程序的用户界面。
48.基于同一发明构思,本发明实施例还提供了一种应用程序用户界面的更新装置,由于这些装置和客户端所解决问题的原理与前述应用程序用户界面的更新方法相似,因此该装置和客户端的实施可以参见前述方法的实施,重复之处不再赘述。
49.本发明实施例提供一种应用程序用户界面的更新装置,参照图2所示,包括:
50.检测模块21,用于检测应用程序的资源文件是否发生更新;
51.活动状态查询模块22,用于基于检测到应用程序的资源文件发生更新,查询所述应用程序当前是否处于前台活动状态;
52.通知模块23,用于基于查询模块查询所述应用程序处于前台活动状态,则向所述应用程序发出其对应的资源更新通知,以使得所述应用程序根据所述资源更新通知,重新加载更新后的资源文件中与用户界面相关的资源文件以刷新所述应用程序的用户界面。
53.在一个实施例中,上述通知模块23,用于通过操作系统的onconfigurechanged通知,向所述应用程序发出资源更新通知;所述onconfigurechanged通知中有包含预先定义的资源文件更新消息。
54.在一个实施例中,上述活动状态查询模块22,用于通过窗口管理组件windowsmanagerservice查询当前系统中所有处于前台活动状态的应用程序,根据查询到的结果判断发生资源文件更新的应用程序当前是否处于前台活动状态。
55.本发明实施例提供了一种设备,所述设备包括存储器和处理器;其中,所述存储器存储有计算机程序,所述程序被处理器执行时能够实现如前述应用程序用户界面的更新方法。
56.本发明实施例提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由系统芯片的处理器执行时,使得处理器能够执行如前述的硬件驱动的方法。
57.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
58.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
59.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
60.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
61.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献