CN113722011B - 应用界面启动方法、装置、设备和存储介质 - Google Patents
应用界面启动方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN113722011B CN113722011B CN202111021848.9A CN202111021848A CN113722011B CN 113722011 B CN113722011 B CN 113722011B CN 202111021848 A CN202111021848 A CN 202111021848A CN 113722011 B CN113722011 B CN 113722011B
- Authority
- CN
- China
- Prior art keywords
- application interface
- communication object
- starting
- information
- communication
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 116
- 238000004891 communication Methods 0.000 claims abstract description 210
- 230000008569 process Effects 0.000 claims abstract description 78
- 238000012795 verification Methods 0.000 claims abstract description 28
- 230000010365 information processing Effects 0.000 claims description 9
- 230000007246 mechanism Effects 0.000 abstract description 9
- 238000011161 development Methods 0.000 abstract description 5
- 230000000694 effects Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000009467 reduction Effects 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
- G06F9/4451—User profiles; Roaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种应用界面启动方法、装置、设备和存储介质,该方法包括:创建包含第一通信对象的配置文件,所述第一通信对象为注册通信对象;在应用界面创建时,获取所述应用界面对应的启动信息,所述启动信息包括第二通信对象,所述第二通信对象为未注册通信对象;读取所述配置文件,将所述第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行所述应用界面的启动。本方案,优化了应用界面启动机制,提升了应用程序开发效率。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种应用界面启动方法、装置、设备和存储介质。
背景技术
随着计算机技术的发展,通过设计各类应用程序以分别实现相应的功能来满足用户的需求越来越普遍。应用程序开发过程中,尤其是大型应用程序,其界面迭代速度快,当每新建一个界面时,需要设计人员手动添加相关的注册信息以完成界面新建。
现有技术中,以手机应用程序为例,应用程序界面创建主要包括以下步骤:当手机启动时,解析应用程序的安装包文件,将解析得到的相关信息保存在设置对象中并进行持久化;在点击应用程序图标,启动应用时,加载相应的启动信息并进行界面初始化;创建应用主进程,启动应用程序首界面,通过进程通信调起系统服务创建界面相关信息,并进行界面生命周期的管理,系统服务再通过进程通信将界面的创建结果返回至主进程,以完成界面创建。其中,在创建应用主进程,启动应用程序首界面的过程中,会对启动信息进行校验,如对界面是否已经进行注册进行校验,如果未进行注册则抛出异常。然而该种方式,对于需要频繁迭代进行界面创建的程序设计而言,需要设计人员频繁的手动操作添加注册信息,程序开发效率显著降低,亟需改进。
发明内容
本发明实施例提供了一种应用界面启动方法、装置、设备和存储介质,解决了现有技术中在程序设计时,应用界面创建操作繁琐的问题,优化了应用界面启动机制,提升了应用程序开发效率。
第一方面,本发明实施例提供了一种应用界面启动方法,该方法包括:
创建包含第一通信对象的配置文件,所述第一通信对象为注册通信对象;
在应用界面创建时,获取所述应用界面对应的启动信息,所述启动信息包括第二通信对象,所述第二通信对象为未注册通信对象;
读取所述配置文件,将所述第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行所述应用界面的启动。
第二方面,本发明实施例还提供了一种应用界面启动装置,包括:
配置文件创建模块,用于创建包含第一通信对象的配置文件,所述第一通信对象为注册通信对象;
启动信息处理模块,用于在应用界面创建时,获取所述应用界面对应的启动信息,所述启动信息包括第二通信对象,所述第二通信对象为未注册通信对象;
信息替换模块,用于读取所述配置文件,将所述第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行所述应用界面的启动。
第三方面,本发明实施例还提供了一种应用界面启动设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明实施例所述的应用界面启动方法。
第四方面,本发明实施例还提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例所述的应用界面启动方法。
本发明实施例中,通过创建包含第一通信对象的配置文件,所述第一通信对象为注册通信对象,在应用界面创建时,获取应用界面对应的启动信息,其中,启动信息包括第二通信对象,读取配置文件,将第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行应用界面的启动。本方案解决了现有技术中在程序设计时,应用界面创建操作繁琐的问题,优化了应用界面启动机制,提升了应用程序开发效率。
附图说明
图1为本发明实施例提供的一种应用界面启动方法的流程图;
图2为本发明实施例提供的另一种应用界面启动方法的流程图;
图3为本发明实施例提供的另一种应用界面启动方法的流程图;
图4为本发明实施例提供的另一种应用界面启动方法的流程图;
图5为本发明实施例提供的一种应用界面启动装置的结构框图;
图6为本发明实施例提供的一种应用界面启动设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
图1为本发明实施例提供的一种应用界面启动方法的流程图,可应用于程序设计人员开发包含界面启动的应用的过程中,该方法可以由计算设备如台式机、笔记本、后台服务器、平板电脑和智能手机等设备来执行,具体包括如下步骤:
步骤S101、创建包含第一通信对象的配置文件,所述第一通信对象为注册通信对象。
其中,配置文件为预先创建包含第一通信对象的代码文件。该配置文件创建完毕后可将其缓存在系统缓存中,以用于后续应用界面创建时调用。
其中,该第一通信对象用于应用界面创建时替换原有通信对象进行验证。
示例性的,以Android操作系统为例,该第一通信对应可以是用来替换应用主进程发送给AMS服务进程的通信代理对象ActivityManagerNative。即该第一对象为创建的一个代理对象预先记录在配置文件中,以用于对主进程发送给AMS服务进程的通信代理对象进行替换。
本方案中创建的配置文件包含的第一通信对象为预先设置的注册通信对象,在传递至AMS服务进程进行验证时,能够通过相关注册信息的验证。需要说明的是,上述的配置文件除了包含第一通信对象外,还可以包含其它配置信息,此处不做限定。
步骤S102、在应用界面创建时,获取所述应用界面对应的启动信息,所述启动信息包括第二通信对象,所述第二通信对象为未注册通信对象。
其中,该第二通信对象为应用界面创建时,需要传递给服务进程进行注册验证的对象。应用界面创建时,会生成对应的启动信息,启动信息中包含有该未注册的第二通信对象。
以Android操作系统为例,Android操作系统中,创建新界面进行启动的过程主要包括:
手机启动时,解析应用程序的安装包文件,将解析得到的相关信息保存在设置对象中并进行持久化;在点击应用程序图标,启动应用时,加载相应的启动信息并进行界面初始化;创建应用主进程,启动应用程序首界面,通过进程通信调起系统服务创建界面相关信息,并进行界面生命周期的管理,系统服务再通过进程通信将界面的创建结果返回至主进程,以完成界面创建。
其中,在创建应用主进程,启动应用程序首界面的过程中,会对启动信息进行校验,如对界面是否已经进行注册进行校验,如果未进行注册则抛出异常。具体的,对界面是否已经进行注册进行校验的过程为应用主进程与系统服务(AMS服务进程)进行通信,应用主进程在开启创建界面时,将相关启动信息传递至AMS服务进程进行校验,启动信息中包含相应的进行验证的原始通信对象,AMS服务进程对该原始通信对象是否已注册进行验证,为了保证验证通过在创建界面过程中需要用户进行相应的注册过程,需要频繁迭代进行界面创建的程序设计而言,需要设计人员频繁的手动操作添加注册信息。
在一个实施例中,在应用界面创建时,对应用界面的启动信息进行获取以用于后续步骤中对该启动信息中的第二通信对象进行替换。
步骤S103、读取所述配置文件,将所述第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行所述应用界面的启动。
其中,该配置文件为预先配置的包含第一通信对象的文件,其中,该第一通信对象为注册通信对象,传递至服务进行可以通过注册验证,不抛出异常。第二通信对象为启动信息中包含的原有的通信对象,其未进行注册,如果通过服务进程验证通过需要进行额外的注册信息填写过程。
本实施例中,将第二通信对象替换为第一通信对象传递至服务进程进行校验,以进行应用界面的启动。可选的,以Android操作系统为例,将启动信息中原有的第二通信对象替换为第一通信对象的过程可以是:利用hook技术将第二通信对象替换为第一通信对象。其中,hook技术又称钩子函数,在服务进程没有调用该第二通信对象之前,钩子程序优先捕获该第二通信对象,钩子函数优先得到该第二通信对象的控制权,此时钩子函数既可以加工处理该第二通信对象的执行行为,也可以强制结束消息的传递。即通过hook技术将未进行注册的第二通信对象替换为已进行注册的预先记录在配置文件中的第一通信对象。
由上述方案可知,通过创建包含已注册的第一通信对象的配置文件,以在应用界面创建时,对启动信息中原有的未进行注册的第二通信对象进行替换,解决了现有技术中在程序设计时,应用界面创建过程中,需要频繁进行注册,其操作繁琐的问题,优化了应用界面启动机制,无需频繁的手动注册,提升了应用程序开发效率。
图2为本发明实施例提供的另一种应用界面启动方法的流程图,给出了一种将第二通信对象替换为第一通信对象的方法,具体方案如图2所示,包括:
步骤S201、创建包含第一通信对象的配置文件,所述第一通信对象为注册通信对象。
步骤S202、在应用界面创建时,获取所述应用界面对应的启动信息,所述启动信息包括第二通信对象,所述第二通信对象为未注册通信对象。
步骤S203、读取所述配置文件,获取所述第二通信对象的预设字段,根据所述预设字段确定所述第二通信对象的第二对象信息,通过所述第一通信对象中的第一对象信息对所述第二对象信息进行替换。
在一个实施例中,通过使用hook技术实现对第一通信对象的替换,将未注册的第一通信对象替换为已注册的第二通信对象。示例性的,以Android操作系统的处理机制为例进行说明,其中,第二通信对象为ActivityManagerNative,通过调用其中的getDefault()方法确定第二通信对象后,将该第二通信对象替换为第一通信对象。具体的,首先获取预设字段(如gDefault字段),目标是对该字段进行替换;取出该字段中单例对应的字段,得到ActivityManagerNative中gDefault对象中原始的第二对象信息,此处记为IActivityManager;通过在配置文件中预先创建的第一对象中的第一对象信息对该IActivityManager进行替换。示例性的代码如下:
由上述方案可知,通过创建包含已注册的第一通信对象的配置文件,以在应用界面创建时,对启动信息中原有的未进行注册的第二通信对象进行替换,具体替换过程中,采用获取所述第二通信对象的预设字段,根据所述预设字段确定所述第二通信对象的第二对象信息,通过所述第一通信对象中的第一对象信息对所述第二对象信息进行替换的方式,合理高效的将未注册的第二通信对象替换为了以注册的第一通信对象,解决了现有技术中在程序设计时,应用界面创建过程中,需要频繁进行注册,其操作繁琐的问题,在程序开发过程中进行应用界面创建和启动时,无需进行手动注册,可以完成服务进程的验证,显著提升了程序开发效率。
图3为本发明实施例提供的另一种应用界面启动方法的流程图,给出了一种包含多种不同启动模式下应用界面启动的方法,具体方案如图3所示,包括:
步骤S301、根据应用界面的启动模式,创建不同启动模式对应的第一通信对象,所述第一通信对象为注册通信对象。
其中,应用界面根据不同的应用产品场景和设计需求,包括多种不同的启动模式。以Android操作系统为例,应用界面的启动模式包括:
标准模式,即每启动一次Activity,就会创建一个新的Activity实例并置于栈顶,启动该Activity的主体对象运行在对应启动的Activity所在的栈中。可选的,默认应用界面的启动模式默认为标准模式;栈顶模式,该应用界面的启动模式中,如果栈顶存在该activity的实例,则进行复用,不存在新建Activity放入栈顶,其适用于点击通知跳详情、新闻详情页,点击推荐新闻条目等场景;栈内模式,该应用界面的启动模式中,如果栈内存在该activity的实例,则将实例中的activity全部出栈,将该实例置于栈顶,如果不存在,则创建新的Activity,其应用场景主要为,应用程序的主页面的创建,即如果跳转到其他页面后还需要跳转回来的页面,比如浏览器的主页;单例模式,该应用界面的启动模式中,新开一个任务栈,该栈内只存放当前实例,其应用场景主要为,项目中语音通话功能对应的启动页面,比如来电话显示页面采用的即为单例模式。
在一个实施例中,针对上述四种不同的应用界面的启动模式,创建不同启动模式对应的第一通信对象。如对应标准模式,创建第一模式的第一通信对象,针对栈顶模式创建第二模式的第一通信对象,针对栈内模式创建第三模式的第一通信对象,针对单例模式创建第四模式的第一通信对象。其中,不同应用界面的启动模式对应的第一通信对象可采用不同的关键词或标记进行表征。
步骤S302、在应用界面创建时,获取所述应用界面对应的启动信息,根据所述启动信息确定所述应用界面的启动模式,所述启动信息包括第二通信对象,所述第二通信对象为未注册通信对象。
在一个实施例中,获取应用界面对应的启动信息时,进一步的确定该应用界面的启动模式,如读取启动信息中Activity标签的android:launchMode字段,以确定具体的应用界面的启动模式。如记录内容为standard则对应应用界面的启动模式为标准模式,记录内容为singleTop则对应应用界面的启动模式为栈顶模式,记录内容为singleTask则对应应用界面的启动模式为栈内模式,记录内容为singleInstance则对应应用界面的启动模式为单例模式。
步骤S303、读取所述配置文件,确定所述应用界面的启动模式对应的第一通信对象,将所述第二通信对象替换为对应启动模式的第一通信对象传递至服务进程进行校验。
在确定当前启动界面的启动模式后,获取预设的不同启动模式对应的第一通信对象。示例性的,如果确定的界面启动模式为标准模式,则获取第一模式的第一通信对象;如果确定的界面启动模式为栈顶模式,则获取第二模式的第一通信对象;如果确定的界面启动模式为栈内模式,则获取第三模式的第一通信对象;如果确定的界面启动模式为单例模式,则获取第四模式的第一通信对象。即选择对应启动模式的第一通信对象对第二通信对象进行替换,以通过服务进程的验证。
由上述方案可知,通过预先创建不同启动模式对应的第一通信对象,在应用界面创建启动时,根据启动信息确定所述应用界面的启动模式,读取配置文件,确定应用界面的启动模式对应的第一通信对象,将第二通信对象替换为对应启动模式的第一通信对象传递至服务进程进行校验,实现了对多种不同启动模式的应用界面启动的成功注册,节约了程序开发效率,保证了任意模式下的高效的界面创建启动,优化了应用界面启动机制,提升了应用程序开发效率。
图4为本发明实施例提供的另一种应用界面启动方法的流程图,给出了一种对替换信息进行还原的方法,具体方案如图4所示,包括:
步骤S401、创建包含第一通信对象的配置文件,所述第一通信对象为注册通信对象。
步骤S402、在应用界面创建时,获取所述应用界面对应的启动信息,保存所述应用界面对应的启动信息,用于进行信息还原。
在一个实施例中,如前所述在启动应用界面时,将原有的第二通信对象通过hook方式进行替换,传递至服务进程进行验证。当服务进程验证成功后,服务进程会将状态信息进行返馈回主进程,此时需要对该状态信息进行还原,此处首先对获取的启动信息进行保存以用于后续还原。
步骤S403、读取所述配置文件,将所述第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行所述应用界面的启动。
步骤S404、接收所述服务进程返馈的状态信息,对所述状态信息进行拦截,根据保存的所述启动信息对所述状态信息进行还原,用于根据还原后的信息执行对应的操作处理。
其中,状态信息包括服务进程验证后和/或执行其它操作后返馈回主进程的信息,此时,对该状态信息进行拦截。可选的,以Android操作系统为例,通过源码分析得出handler通过handleMessage进行处理消息,此处通过代理handler的callback方法来实现消息拦截,并还原之前存储的原始信息。
示例性的代码如下:
Field mCallBackField=Handler.class.getDeclaredField("mCallback");
mCallBackField.setAccessible(true);
mCallBack.set(mH,new ActivityThreadHandlerCallback(mH));
具体的,存储记录的启动信息包括应用界面类名,根据应用界面类名获取对应的目标类,通过目标类对所述状态信息中的组件进行替换以对状态信息进行还原。示例性的进行启动信息保存的代码如下:
示例性的进行状态信息替换的代码如下:
由上述方案可知,通过保存应用界面对应的启动信息,在接收服务进程返馈的状态信息,对所述状态信息进行拦截,根据保存的启动信息对所述状态信息进行还原,保证了对应用界面操作过程中生命周期的正确处理,可以进一步的执行后续操作处理,进一步优化了本方案中的应用界面启动方法,保证了开发人员的开发效率。
图5为本发明实施例提供的一种应用界面启动装置的结构框图,该系统用于执行上述实施例提供的应用界面启动方法,具备执行方法相应的功能模块和有益效果。如图5所示,该系统具体包括:配置文件创建模块101、启动信息处理模块102和信息替换模块103,其中,
配置文件创建模块101,用于创建包含第一通信对象的配置文件,所述第一通信对象为注册通信对象;
启动信息处理模块102,用于在应用界面创建时,获取所述应用界面对应的启动信息,所述启动信息包括第二通信对象,所述第二通信对象为未注册通信对象;
信息替换模块103,用于读取所述配置文件,将所述第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行所述应用界面的启动。
由上述方案可知,通过创建包含第一通信对象的配置文件,所述第一通信对象为注册通信对象,在应用界面创建时,获取应用界面对应的启动信息,其中,启动信息包括第二通信对象,读取配置文件,将第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行应用界面的启动。本方案解决了现有技术中在程序设计时,应用界面创建操作繁琐的问题,优化了应用界面启动机制,提升了应用程序开发效率。
在一个可能的实施例中,所述信息替换模块103具体用于:
获取所述第二通信对象的预设字段;
根据所述预设字段确定所述第二通信对象的第二对象信息;
通过所述第一通信对象中的第一对象信息对所述第二对象信息进行替换。
其中,通过采用获取所述第二通信对象的预设字段,根据所述预设字段确定所述第二通信对象的第二对象信息,通过所述第一通信对象中的第一对象信息对所述第二对象信息进行替换的方式,合理高效的将未注册的第二通信对象替换为了以注册的第一通信对象,解决了现有技术中在程序设计时,应用界面创建过程中,需要频繁进行注册,其操作繁琐的问题,在程序开发过程中进行应用界面创建和启动时,无需进行手动注册,可以完成服务进程的验证,显著提升了程序开发效率。
在一个可能的实施例中,所述配置文件创建模块101具体用于:
根据应用界面的启动模式,创建不同启动模式对应的第一通信对象。
在一个可能的实施例中,所述启动信息处理模块102还用于:
在获取所述应用界面对应的启动信息之后,根据所述启动信息确定所述应用界面的启动模式;
读取所述配置文件,确定所述应用界面的启动模式对应的第一通信对象,将所述第二通信对象替换为对应启动模式的第一通信对象传递至服务进程进行校验。
本方案中,通过预先创建不同启动模式对应的第一通信对象,在应用界面创建启动时,根据启动信息确定所述应用界面的启动模式,读取配置文件,确定应用界面的启动模式对应的第一通信对象,将第二通信对象替换为对应启动模式的第一通信对象传递至服务进程进行校验,实现了对多种不同启动模式的应用界面启动的成功注册,节约了程序开发效率,保证了任意模式下的高效的界面创建启动,优化了应用界面启动机制,提升了应用程序开发效率。
在一个可能的实施例中,所述启动信息处理模块102还用于:
在获取所述应用界面对应的启动信息之后,保存所述应用界面对应的启动信息,用于进行信息还原。
在一个可能的实施例中,该装置还包括信息还原模块104用于:
在将所述第二通信对象替换为所述第一通信对象传递至服务进程进行校验之后,接收所述服务进程返馈的状态信息,对所述状态信息进行拦截;
根据保存的所述启动信息对所述状态信息进行还原,用于根据还原后的信息执行对应的操作处理。
在一个可能的实施例中,所述启动信息包括应用界面类名,所述信息还原模块104具体用于:
根据所述应用界面类名获取对应的目标类,通过所述目标类对所述状态信息中的组件进行替换以对所述状态信息进行还原。
图6为本发明实施例提供的一种应用界面启动设备的结构示意图,如图6所示,该设备包括处理器201、存储器202、输入装置203和输出装置204;设备中处理器201的数量可以是一个或多个,图6中以一个处理器201为例;设备中的处理器201、存储器202、输入装置203和输出装置204可以通过总线或其他方式连接,图6中以通过总线连接为例。存储器202作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的应用界面启动方法对应的程序指令/模块。处理器201通过运行存储在存储器202中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的应用界面启动方法。输入装置203可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置204可包括显示屏等显示设备。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种上述实施例描述的应用界面启动方法,具体包括:
创建包含第一通信对象的配置文件,所述第一通信对象为注册通信对象;
在应用界面创建时,获取所述应用界面对应的启动信息,所述启动信息包括第二通信对象,所述第二通信对象为未注册通信对象;
读取所述配置文件,将所述第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行所述应用界面的启动。
值得注意的是,上述应用界面启动装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
Claims (5)
1.应用界面启动方法,其特征在于,包括:
根据应用界面的启动模式,创建不同启动模式对应的第一通信对象,所述第一通信对象为注册通信对象;
在应用界面创建时,获取所述应用界面对应的启动信息,根据所述启动信息确定所述应用界面的启动模式,保存所述应用界面对应的启动信息,所述启动信息包括第二通信对象,所述第二通信对象为未注册通信对象;
读取配置文件,确定所述应用界面的启动模式对应的第一通信对象,通过钩子函数将所述第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行所述应用界面的启动,所述第一通信对象包括主进程发送至服务进程的通信代理对象;
接收所述服务进程反馈的状态信息,对所述状态信息进行拦截,根据所述应用界面类名获取对应的目标类,通过所述目标类对所述状态信息中的组件进行替换以对所述状态信息进行还原。
2.根据权利要求1所述的应用界面启动方法,其特征在于,所述将所述第二通信对象替换为所述第一通信对象,包括:
获取所述第二通信对象的预设字段;
根据所述预设字段确定所述第二通信对象的第二对象信息;
通过所述第一通信对象中的第一对象信息对所述第二对象信息进行替换。
3.应用界面启动装置,其特征在于,包括:
配置文件创建模块,用于根据应用界面的启动模式,创建不同启动模式对应的第一通信对象,所述第一通信对象为注册通信对象;
启动信息处理模块,用于在应用界面创建时,获取所述应用界面对应的启动信息,根据所述启动信息确定所述应用界面的启动模式,保存所述应用界面对应的启动信息,所述启动信息包括第二通信对象,所述第二通信对象为未注册通信对象;
信息替换模块,用于读取所述配置文件,确定所述应用界面的启动模式对应的第一通信对象,通过钩子函数将所述第二通信对象替换为所述第一通信对象传递至服务进程进行校验,以进行所述应用界面的启动,所述第一通信对象包括主进程发送至服务进程的通信代理对象;
信息还原模块,用于接收所述服务进程反馈的状态信息,对所述状态信息进行拦截,根据所述应用界面类名获取对应的目标类,通过所述目标类对所述状态信息中的组件进行替换以对所述状态信息进行还原。
4.一种应用界面启动设备,所述设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-2中任一项所述的应用界面启动方法。
5.一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-2中任一项所述的应用界面启动方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111021848.9A CN113722011B (zh) | 2021-09-01 | 2021-09-01 | 应用界面启动方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111021848.9A CN113722011B (zh) | 2021-09-01 | 2021-09-01 | 应用界面启动方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722011A CN113722011A (zh) | 2021-11-30 |
CN113722011B true CN113722011B (zh) | 2024-05-17 |
Family
ID=78680615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111021848.9A Active CN113722011B (zh) | 2021-09-01 | 2021-09-01 | 应用界面启动方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722011B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610316A (zh) * | 2009-07-24 | 2009-12-23 | 中兴通讯股份有限公司 | 手机应用程序的启动方法、装置和系统 |
CN105159712A (zh) * | 2015-09-01 | 2015-12-16 | 北京金山安全软件有限公司 | 一种启动界面的方法及装置 |
CN106445617A (zh) * | 2016-10-13 | 2017-02-22 | 武汉斗鱼网络科技有限公司 | 基于Android的应用程序冷启动优化方法及系统 |
-
2021
- 2021-09-01 CN CN202111021848.9A patent/CN113722011B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101610316A (zh) * | 2009-07-24 | 2009-12-23 | 中兴通讯股份有限公司 | 手机应用程序的启动方法、装置和系统 |
CN105159712A (zh) * | 2015-09-01 | 2015-12-16 | 北京金山安全软件有限公司 | 一种启动界面的方法及装置 |
CN106445617A (zh) * | 2016-10-13 | 2017-02-22 | 武汉斗鱼网络科技有限公司 | 基于Android的应用程序冷启动优化方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113722011A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190213019A1 (en) | Application program page processing method and device | |
US10742694B2 (en) | Method for migrating data and terminal | |
CN111399897A (zh) | 基于kubernetes的应用发布方法以及系统 | |
CN116643778B (zh) | 一种应用程序优化方法及电子设备 | |
CN112925539B (zh) | 一种应用更新方法,计算设备及存储介质 | |
WO2019139740A1 (en) | Extensible input stack for processing input device data | |
CN106775608B (zh) | 独立系统进程的实现方法和装置 | |
CN113722011B (zh) | 应用界面启动方法、装置、设备和存储介质 | |
CN110018831B (zh) | 程序处理方法、装置及计算机可读存储介质 | |
CN108228266A (zh) | 一种Android插件框架下不同插件间启动Fragment组件的方法和装置 | |
CN111258618A (zh) | 文件配置方法、装置、计算机设备和存储介质 | |
CN108804236B (zh) | 一种aidl文件的共享方法及系统 | |
CN113434213B (zh) | 一种终端的程序运行方法以及装置 | |
CN114489698A (zh) | 应用程序安装方法和装置 | |
CN115185745A (zh) | 数据处理方法、系统、电子设备及计算机可读存储介质 | |
CN112491799B (zh) | 通信模块远程修复方法、装置、计算机设备和存储介质 | |
CN111475226B (zh) | 电子装置、微服务调用方法和计算机可读存储介质 | |
WO2022086860A1 (en) | Accelerated non-volatile memory device inspection and forensics | |
CN111190637B (zh) | 一种版本文件发布的管理方法、装置以及系统 | |
CN109857380B (zh) | 一种工作流文件编译方法及装置 | |
CN113515299A (zh) | 软件开发工具包sdk热升级方法、装置、设备及存储介质 | |
CN112379973A (zh) | 重载方法和装置 | |
CN107220101B (zh) | 一种容器创建方法和装置 | |
CN113051122A (zh) | 性能数据获取方法、装置、电子设备和介质 | |
EP3992795A1 (en) | Computer system executing multiple operating systems |
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 |