CN115061738B - 针对安卓组件化的业务模块初始化方法、设备及介质 - Google Patents

针对安卓组件化的业务模块初始化方法、设备及介质 Download PDF

Info

Publication number
CN115061738B
CN115061738B CN202210722272.7A CN202210722272A CN115061738B CN 115061738 B CN115061738 B CN 115061738B CN 202210722272 A CN202210722272 A CN 202210722272A CN 115061738 B CN115061738 B CN 115061738B
Authority
CN
China
Prior art keywords
starting
initialization
class
starting configuration
app
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
CN202210722272.7A
Other languages
English (en)
Other versions
CN115061738A (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.)
Chaozhou Zhuoshu Big Data Industry Development Co Ltd
Original Assignee
Chaozhou Zhuoshu Big Data Industry Development 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 Chaozhou Zhuoshu Big Data Industry Development Co Ltd filed Critical Chaozhou Zhuoshu Big Data Industry Development Co Ltd
Priority to CN202210722272.7A priority Critical patent/CN115061738B/zh
Publication of CN115061738A publication Critical patent/CN115061738A/zh
Application granted granted Critical
Publication of CN115061738B publication Critical patent/CN115061738B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种针对安卓组件化的业务模块初始化方法、设备及介质,方法包括:定义启动注解App、启动配置接口、统一调度器以及注解处理器,并定义启动配置类;通过启动注解App收集各组件分别对应的启动配置类,并生成启动配置类的helper类;通过统一调度器开启子线程,以通过各启动配置类的helper类进行反射收集到各启动配置类;遍历各启动配置类,根据是否在子线程中的配置,通过统一调度器开启新的子线程初始化。解决安卓组件化下各业务模块初始化的问题,通过预先的定义,以及在项目编译过程中创建的helper类,使得安卓app启动时能够通过统一调度器遍历启动配置类,来保证组件化业务解耦,又保证业务模块功能的正常初始化,又能加快安卓app启动速度。

Description

针对安卓组件化的业务模块初始化方法、设备及介质
技术领域
本申请涉及计算机领域,具体涉及一种针对安卓组件化的业务模块初始化方法、设备及介质。
背景技术
随着项目组件化开发的发展,业务模块的初始化出现了很多方式,但是基本都是无序的一起初始化,拖慢了app启动速度,并且各个业务模块的初始化不可相互依赖。各个业务模块的很多初始化需要在Application中去做,但是android项目中只能在app模块下存在一个Application,把它们的初始化都放到app模块下的Application中违背解耦原则,又无法在各自模块下创建Application。
发明内容
为了解决上述问题,本申请提出了一种针对安卓组件化的业务模块初始化方法,包括:
定义启动注解App、启动配置接口、统一调度器以及注解处理器,并在需要初始化的组件中,定义启动配置类,以实现通过所述启动配置接口实现所述启动注解App,配置初始化参数;
在安卓app的指定位置的函数方法中,确定调用所述统一调度器的指定函数方法;
确定项目编译,利用所述注解处理器,通过所述启动注解App收集各组件分别对应的所述启动配置类,并生成所述启动配置类的helper类;
启动所述安卓app,触发所述统一调度器的所述指定函数方法,通过所述统一调度器开启子线程,以通过各启动配置类的所述helper类进行反射收集到所述各启动配置类;
遍历所述各启动配置类,根据是否在所述子线程中的配置,通过所述统一调度器开启新的所述子线程初始化,或切换到主线程初始化,并根据配置的所述初始化参数,对初始化过程进行适应性调整,以完成对所述安卓app中业务模块的初始化。
在一个示例中,配置初始化参数,具体包括:
配置是否延迟初始化以及延迟时间,并配置在主线程或子线程初始化时,需要依赖的其他启动配置类。
在一个示例中,根据配置的所述初始化参数,对初始化过程进行适应性调整,具体包括:
根据所述初始化参数,确定是否延迟初始化,并在需要延迟初始化时,根据所述延迟时间延迟进行初始化。
在一个示例中,根据配置的所述初始化参数,对初始化过程进行适应性调整,具体包括:
根据所述需要依赖的其他启动配置类,通过所述统一调度器控制初始化顺序,以在需要依赖的其他启动配置类初始化后,再进行初始化。
在一个示例中,根据所述需要依赖的其他启动配置类,通过所述统一调度器控制初始化顺序,以在需要依赖的其他启动配置类初始化后,再进行初始化,具体包括:
确定当前初始化的第一启动配置类已完成初始化,并回调至所述统一调度器;
通过所述统一调度器确定需要依赖所述第一启动配置类的第二启动配置类,触发所述第二启动配置类进行初始化。
在一个示例中,定义启动注解App、启动配置接口、统一调度器以及注解处理器之后,所述方法还包括:
通过所述启动配置接口,对所述启动配置类所有的启动配置、启动方法以及与所述指定位置相同的生命周期回调方法进行规范;
通过所述启动注解App,标注相应的注解,以使所述注解处理器识别所述启动配置类。
在一个示例中,在安卓app的指定位置的函数方法中,确定调用所述统一调度器的指定函数方法,具体包括:
通过安卓app的Application的onCreate函数初始化所述统一调度器,并在所述Application的onTerminate函数、onConfigurationChanged函数、onLowMemory函数、onTrimMemory函数中,确定调用所述统一调度器的指定函数方法。
在一个示例中,所述启动配置接口为AppStart,所述注解处理器为IcityProcessor,所述统一调度器为IcityAppDispatcher。
另一方面,本申请还提出了一种针对安卓组件化的业务模块初始化设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如:
定义启动注解App、启动配置接口、统一调度器以及注解处理器,并在需要初始化的组件中,定义启动配置类,以实现通过所述启动配置接口实现所述启动注解App,配置初始化参数;
在安卓app的指定位置的函数方法中,确定调用所述统一调度器的指定函数方法;
确定项目编译,利用所述注解处理器,通过所述启动注解App收集各组件分别对应的所述启动配置类,并生成所述启动配置类的helper类;
启动所述安卓app,触发所述统一调度器的所述指定函数方法,通过所述统一调度器开启子线程,以通过各启动配置类的所述helper类进行反射收集到所述各启动配置类;
遍历所述各启动配置类,根据是否在所述子线程中的配置,通过所述统一调度器开启新的所述子线程初始化,或切换到主线程初始化,并根据配置的所述初始化参数,对初始化过程进行适应性调整,以完成对所述安卓app中业务模块的初始化。
另一方面,本申请还提出了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
定义启动注解App、启动配置接口、统一调度器以及注解处理器,并在需要初始化的组件中,定义启动配置类,以实现通过所述启动配置接口实现所述启动注解App,配置初始化参数;
在安卓app的指定位置的函数方法中,确定调用所述统一调度器的指定函数方法;
确定项目编译,利用所述注解处理器,通过所述启动注解App收集各组件分别对应的所述启动配置类,并生成所述启动配置类的helper类;
启动所述安卓app,触发所述统一调度器的所述指定函数方法,通过所述统一调度器开启子线程,以通过各启动配置类的所述helper类进行反射收集到所述各启动配置类;
遍历所述各启动配置类,根据是否在所述子线程中的配置,通过所述统一调度器开启新的所述子线程初始化,或切换到主线程初始化,并根据配置的所述初始化参数,对初始化过程进行适应性调整,以完成对所述安卓app中业务模块的初始化。
通过本申请提出的方法能够带来如下有益效果:
解决安卓组件化下各业务模块初始化的问题,通过预先的定义,以及在项目编译过程中创建的helper类,使得安卓app启动时能够通过统一调度器遍历启动配置类,来保证组件化业务解耦,又保证业务模块功能的正常初始化,又能加快安卓app启动速度。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中针对安卓组件化的业务模块初始化方法的流程示意图;
图2为本申请实施例中针对安卓组件化的业务模块初始化设备的示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
如图1所示,本申请实施例提供针对安卓组件化的业务模块初始化方法,包括:
S101:定义启动注解App、启动配置接口、统一调度器以及注解处理器,并在需要初始化的组件中,定义启动配置类,以实现通过所述启动配置接口实现所述启动注解App,配置初始化参数。
通过启动配置接口,能够对启动配置类所有的启动配置、启动方法以及与指定位置(下文中会对该指定位置进行解释说明)相同的生命周期回调方法进行规范。
通过启动注解App,标注相应的注解,以使注解处理器识别启动配置类。
具体地,启动配置接口为AppStart,注解处理器为IcityProcessor,统一调度器为IcityAppDispatcher。其中,AppStart,相当于一个shell,根据配置文件拉起要管理的进程。
S102:在安卓app的指定位置的函数方法中,确定调用所述统一调度器的指定函数方法。
具体地,可以通过安卓app的Application的onCreate函数初始化统一调度器,并在Application的onTerminate函数、onConfigurationChanged函数、onLowMemory函数、onTrimMemory函数中,确定调用所述统一调度器的指定函数方法。
其中,onCreate()函数方法是安卓(android)应用程序中的方法之一,onCreate()函数可以在activity初始化的时候调用。onTerminate()可以在安卓app全部结束后触发回调。onConfigurationChanged()当系统的配置信息发生改变时,系统会调用此方法。onLowMemory()就是在app内存低的时候回调。OnTrimMemory()回调是Android 4.0之后提供的一个API,这个API是提供给开发者的,它的主要作用是提示开发者在系统内存不足的时候,通过处理部分资源来释放内存,从而避免被Android系统杀死。
S103:确定项目编译,利用所述注解处理器,通过所述启动注解App收集各组件分别对应的所述启动配置类,并生成所述启动配置类的helper类。
编译(compilation,compile)是利用编译程序从源语言编写的源程序产生目标程序的过程。用编译程序产生目标程序的动作,就是把高级语言变成计算机可以识别的2进制语言。
在helper类时,可以在固定包名下生成启动配置类的helper类。
S104:启动所述安卓app,触发所述统一调度器的所述指定函数方法,通过所述统一调度器开启子线程,以通过各启动配置类的所述helper类进行反射收集到所述各启动配置类。
在本文中,主要针对于安卓的app,其他操作系统中的app由于底层操作系统的特性,不在本文的考虑范围内。
在Java里面一个类有两种状态:编译和运行状态,通常我们需要获取这个类的信息都是在编译阶段获得的,也就是直接点出来或者new出来,可是如果需要在类运行的阶段获得Java的类的信息的话,就需要用到Java的反射。Java的反射用的最多的地方就是在框架里面。
S105:遍历所述各启动配置类,根据是否在所述子线程中的配置,通过所述统一调度器开启新的所述子线程初始化,或切换到主线程初始化,并根据配置的所述初始化参数,对初始化过程进行适应性调整,以完成对所述安卓app中业务模块的初始化。
对各线程初始化完成后,即可完成对业务模块的初始化,业务模块对应的线程、启动配置类均可以提前进行相应设置。
解决安卓组件化下各业务模块初始化的问题,通过预先的定义,以及在项目编译过程中创建的helper类,使得安卓app启动时能够通过统一调度器遍历启动配置类,来保证组件化业务解耦,又保证业务模块功能的正常初始化,又能加快安卓app启动速度。
在一个实施例中,配置初始化参数时,可以配置是否延迟初始化以及延迟时间,并配置在主线程或子线程初始化时,需要依赖的其他启动配置类。
进一步地,初始化参数中包括是否延迟初始化以及延迟时间时,适应性调整的过程,可以根据初始化参数,确定是否需要延迟初始化,如果需要延迟初始化时,则根据延迟时间延迟进行初始化。
初始化参数中包括需要依赖的其他启动配置类时,适应性调整的过程,可以根据需要依赖的其他启动配置类,通过统一调度器控制初始化顺序,以在需要依赖的其他启动配置类初始化后,再进行初始化。
更进一步地,对于需要依赖的其他启动配置类初始化时,确定当前初始化的第一启动配置类已完成初始化,然后回调至统一调度器;通过统一调度器确定需要依赖第一启动配置类的第二启动配置类,触发第二启动配置类进行初始化,直至最终完成各配置类的初始化。
如图2所示,本申请实施例还提供了一种针对安卓组件化的业务模块初始化设备,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如:
定义启动注解App、启动配置接口、统一调度器以及注解处理器,并在需要初始化的组件中,定义启动配置类,以实现通过所述启动配置接口实现所述启动注解App,配置初始化参数;
在安卓app的指定位置的函数方法中,确定调用所述统一调度器的指定函数方法;
确定项目编译,利用所述注解处理器,通过所述启动注解App收集各组件分别对应的所述启动配置类,并生成所述启动配置类的helper类;
启动所述安卓app,触发所述统一调度器的所述指定函数方法,通过所述统一调度器开启子线程,以通过所述各启动配置类的所述helper类进行反射收集到所述各启动配置类;
遍历所述各启动配置类,根据是否在所述子线程中的配置,通过所述统一调度器开启新的所述子线程初始化,或切换到主线程初始化,并根据配置的所述初始化参数,对初始化过程进行适应性调整,以完成对所述安卓app中业务模块的初始化。
本申请实施例还提供了一种非易失性计算机存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为:
定义启动注解App、启动配置接口、统一调度器以及注解处理器,并在需要初始化的组件中,定义启动配置类,以实现通过所述启动配置接口实现所述启动注解App,配置初始化参数;
在安卓app的指定位置的函数方法中,确定调用所述统一调度器的指定函数方法;
确定项目编译,利用所述注解处理器,通过所述启动注解App收集各组件分别对应的所述启动配置类,并生成所述启动配置类的helper类;
启动所述安卓app,触发所述统一调度器的所述指定函数方法,通过所述统一调度器开启子线程,以通过所述各启动配置类的所述helper类进行反射收集到所述各启动配置类;
遍历所述各启动配置类,根据是否在所述子线程中的配置,通过所述统一调度器开启新的所述子线程初始化,或切换到主线程初始化,并根据配置的所述初始化参数,对初始化过程进行适应性调整,以完成对所述安卓app中业务模块的初始化。
本申请中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备和介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请实施例提供的设备和介质与方法是一一对应的,因此,设备和介质也具有与其对应的方法类似的有益技术效果,由于上面已经对方法的有益技术效果进行了详细说明,因此,这里不再赘述设备和介质的有益技术效果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (8)

1.一种针对安卓组件化的业务模块初始化方法,其特征在于,包括:
定义启动注解App、启动配置接口、统一调度器以及注解处理器,并在需要初始化的组件中,定义启动配置类,以实现通过所述启动配置接口实现所述启动注解App,配置初始化参数;
在安卓app的指定位置的函数方法中,确定调用所述统一调度器的指定函数方法;
确定项目编译,利用所述注解处理器,通过所述启动注解App收集各组件分别对应的所述启动配置类,并生成所述启动配置类的helper类;
启动所述安卓app,触发所述统一调度器的所述指定函数方法,通过所述统一调度器开启子线程,以通过各启动配置类的所述helper类进行反射收集到所述各启动配置类;
遍历所述各启动配置类,根据是否在所述子线程中的配置,通过所述统一调度器开启新的所述子线程初始化,或切换到主线程初始化,并根据配置的所述初始化参数,对初始化过程进行适应性调整,以完成对所述安卓app中业务模块的初始化;
通过所述启动配置接口,对所述启动配置类所有的启动配置、启动方法以及与所述指定位置相同的生命周期回调方法进行规范;
通过所述启动注解App,标注相应的注解,以使所述注解处理器识别所述启动配置类;
通过安卓app的Application的onCreate函数初始化所述统一调度器,并在所述Application的onTerminate函数、onConfigurationChanged函数、onLowMemory函数、onTrimMemory函数中,确定调用所述统一调度器的指定函数方法。
2.根据权利要求1所述的方法,其特征在于,配置初始化参数,具体包括:
配置是否延迟初始化以及延迟时间,并配置在主线程或子线程初始化时,需要依赖的其他启动配置类。
3.根据权利要求2所述的方法,其特征在于,根据配置的所述初始化参数,对初始化过程进行适应性调整,具体包括:
根据所述初始化参数,确定是否延迟初始化,并在需要延迟初始化时,根据所述延迟时间延迟进行初始化。
4.根据权利要求2所述的方法,其特征在于,根据配置的所述初始化参数,对初始化过程进行适应性调整,具体包括:
根据所述需要依赖的其他启动配置类,通过所述统一调度器控制初始化顺序,以在需要依赖的其他启动配置类初始化后,再进行初始化。
5.根据权利要求4所述的方法,其特征在于,根据所述需要依赖的其他启动配置类,通过所述统一调度器控制初始化顺序,以在需要依赖的其他启动配置类初始化后,再进行初始化,具体包括:
确定当前初始化的第一启动配置类已完成初始化,并回调至所述统一调度器;
通过所述统一调度器确定需要依赖所述第一启动配置类的第二启动配置类,触发所述第二启动配置类进行初始化。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述启动配置接口为AppStart,所述注解处理器为IcityProcessor,所述统一调度器为IcityAppDispatcher。
7.一种针对安卓组件化的业务模块初始化设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如:
定义启动注解App、启动配置接口、统一调度器以及注解处理器,并在需要初始化的组件中,定义启动配置类,以实现通过所述启动配置接口实现所述启动注解App,配置初始化参数;
在安卓app的指定位置的函数方法中,确定调用所述统一调度器的指定函数方法;
确定项目编译,利用所述注解处理器,通过所述启动注解App收集各组件分别对应的所述启动配置类,并生成所述启动配置类的helper类;
启动所述安卓app,触发所述统一调度器的所述指定函数方法,通过所述统一调度器开启子线程,以通过各启动配置类的所述helper类进行反射收集到所述各启动配置类;
遍历所述各启动配置类,根据是否在所述子线程中的配置,通过所述统一调度器开启新的所述子线程初始化,或切换到主线程初始化,并根据配置的所述初始化参数,对初始化过程进行适应性调整,以完成对所述安卓app中业务模块的初始化;
通过所述启动配置接口,对所述启动配置类所有的启动配置、启动方法以及与所述指定位置相同的生命周期回调方法进行规范;
通过所述启动注解App,标注相应的注解,以使所述注解处理器识别所述启动配置类;
通过安卓app的Application的onCreate函数初始化所述统一调度器,并在所述Application的onTerminate函数、onConfigurationChanged函数、onLowMemory函数、onTrimMemory函数中,确定调用所述统一调度器的指定函数方法。
8.一种非易失性计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令设置为:
定义启动注解App、启动配置接口、统一调度器以及注解处理器,并在需要初始化的组件中,定义启动配置类,以实现通过所述启动配置接口实现所述启动注解App,配置初始化参数;
在安卓app的指定位置的函数方法中,确定调用所述统一调度器的指定函数方法;
确定项目编译,利用所述注解处理器,通过所述启动注解App收集各组件分别对应的所述启动配置类,并生成所述启动配置类的helper类;
启动所述安卓app,触发所述统一调度器的所述指定函数方法,通过所述统一调度器开启子线程,以通过各启动配置类的所述helper类进行反射收集到所述各启动配置类;
遍历所述各启动配置类,根据是否在所述子线程中的配置,通过所述统一调度器开启新的所述子线程初始化,或切换到主线程初始化,并根据配置的所述初始化参数,对初始化过程进行适应性调整,以完成对所述安卓app中业务模块的初始化;
通过所述启动配置接口,对所述启动配置类所有的启动配置、启动方法以及与所述指定位置相同的生命周期回调方法进行规范;
通过所述启动注解App,标注相应的注解,以使所述注解处理器识别所述启动配置类;
通过安卓app的Application的onCreate函数初始化所述统一调度器,并在所述Application的onTerminate函数、onConfigurationChanged函数、onLowMemory函数、onTrimMemory函数中,确定调用所述统一调度器的指定函数方法。
CN202210722272.7A 2022-06-24 2022-06-24 针对安卓组件化的业务模块初始化方法、设备及介质 Active CN115061738B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210722272.7A CN115061738B (zh) 2022-06-24 2022-06-24 针对安卓组件化的业务模块初始化方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210722272.7A CN115061738B (zh) 2022-06-24 2022-06-24 针对安卓组件化的业务模块初始化方法、设备及介质

Publications (2)

Publication Number Publication Date
CN115061738A CN115061738A (zh) 2022-09-16
CN115061738B true CN115061738B (zh) 2024-05-31

Family

ID=83202997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210722272.7A Active CN115061738B (zh) 2022-06-24 2022-06-24 针对安卓组件化的业务模块初始化方法、设备及介质

Country Status (1)

Country Link
CN (1) CN115061738B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170005536A (ko) * 2015-07-06 2017-01-16 주식회사 인프라웨어테크놀러지 안드로이드 시스템의 부팅 성능을 향상시키기 위한 방법, 컴퓨팅 장치 및 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램
CN109857489A (zh) * 2017-11-30 2019-06-07 阿里巴巴集团控股有限公司 基于Android系统的开发系统、解耦方法和装置
CN110908724A (zh) * 2019-12-03 2020-03-24 深圳市迅雷网络技术有限公司 一种Android App启动方法及相关组件
CN112685149A (zh) * 2020-12-18 2021-04-20 宝能(广州)汽车研究院有限公司 安卓应用的启动方法、存储介质、电子设备
CN114217787A (zh) * 2021-12-13 2022-03-22 网易(杭州)网络有限公司 组件化应用程序的开发方法、装置及存储介质
CN114327655A (zh) * 2021-12-27 2022-04-12 云南腾云信息产业有限公司 组件的初始化处理方法、装置及电子设备
CN114528054A (zh) * 2022-01-19 2022-05-24 浪潮卓数大数据产业发展有限公司 基于业务模块的第三方sdk初始化方法、装置、设备及介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101854975B1 (ko) * 2016-02-18 2018-05-04 라인 가부시키가이샤 패키지 파일에 대한 기능 확장 방법 및 시스템

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170005536A (ko) * 2015-07-06 2017-01-16 주식회사 인프라웨어테크놀러지 안드로이드 시스템의 부팅 성능을 향상시키기 위한 방법, 컴퓨팅 장치 및 컴퓨터-판독가능 매체에 저장된 컴퓨터 프로그램
CN109857489A (zh) * 2017-11-30 2019-06-07 阿里巴巴集团控股有限公司 基于Android系统的开发系统、解耦方法和装置
CN110908724A (zh) * 2019-12-03 2020-03-24 深圳市迅雷网络技术有限公司 一种Android App启动方法及相关组件
CN112685149A (zh) * 2020-12-18 2021-04-20 宝能(广州)汽车研究院有限公司 安卓应用的启动方法、存储介质、电子设备
CN114217787A (zh) * 2021-12-13 2022-03-22 网易(杭州)网络有限公司 组件化应用程序的开发方法、装置及存储介质
CN114327655A (zh) * 2021-12-27 2022-04-12 云南腾云信息产业有限公司 组件的初始化处理方法、装置及电子设备
CN114528054A (zh) * 2022-01-19 2022-05-24 浪潮卓数大数据产业发展有限公司 基于业务模块的第三方sdk初始化方法、装置、设备及介质

Also Published As

Publication number Publication date
CN115061738A (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
US10216509B2 (en) Continuous and automatic application development and deployment
CN110955431B (zh) 编译环境的处理方法及装置
WO2022016848A1 (zh) 一种根据服务角色的进行应用部署的方法及装置
RU2658190C2 (ru) Управление доступом во время выполнения к интерфейсам прикладного программирования
CN103530156A (zh) 动态加载和调用程序的方法及装置
KR102283736B1 (ko) Autosar 기반 응용 소프트웨어의 설정 코드 자동 생성 방법 및 장치
TW201820131A (zh) 進程管理方法及裝置
WO2012142798A1 (zh) 一种应用程序加载的方法及装置
CN102541609B (zh) 安装程序制作方法、装置及网络设备
CN109597631B (zh) 一种进程的升级方法、装置及电子设备
WO2022237590A1 (zh) 智能合约升级方法及区块链系统
CN116049207A (zh) 应用程序sql脚本处理方法、装置、处理器及电子设备
CN115291946A (zh) 鸿蒙系统移植方法、装置、电子设备及可读介质
CN111190692A (zh) 一种基于鲲鹏处理器的监控方法、系统及可读介质
CN115061738B (zh) 针对安卓组件化的业务模块初始化方法、设备及介质
Wood et al. Triton: a domain specific language for cyber-physical systems
KR101950485B1 (ko) 안드로이드의 실시간 태스크 관리 방법
CN111459573A (zh) 一种智能合约执行环境的启动方法以及装置
CN116382713A (zh) 构建应用镜像的方法、系统、设备和存储介质
CN105393216B (zh) 运行时内存调节
CN113867776A (zh) 中台应用的发布方法、装置、电子设备和存储介质
EP4204960A1 (en) Thread-local return structure for asynchronous state machine
WO2019157891A1 (zh) 应用安装方法、应用安装包的生成方法
CN115269562B (zh) 一种数据库管理方法、装置、存储介质及电子设备
CN117519733B (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
GR01 Patent grant
GR01 Patent grant