配置逻辑代码的启动控制方法、装置、设备及存储介质与流程

文档序号:31024124发布日期:2022-08-05 23:13阅读:99来源:国知局
配置逻辑代码的启动控制方法、装置、设备及存储介质与流程

1.本技术涉及到应用开发领域,特别是涉及到一种配置逻辑代码的启动控制方法、装置、计算机设备及存储介质。


背景技术:

2.在ios应用程序中,对于一些代码逻辑需要在程序开始执行业务逻辑之前就执行好,而常用的手段就是将代码逻辑写在c++全局构造函数或者load函数中,ios系统在程序初始化的时候会收集类的load函数自动执行,同时也会遍历执行c++全局构造函数,这样就能保证在执行业务代码逻辑之前将这些代码逻辑执行,随着这类代码逻辑越来越多,对程序启动的启动速度影响越来越大,程序启动时间越来越长,导致程序启动效率低。


技术实现要素:

3.本技术的主要目的为提供一种配置逻辑代码的启动控制方法、装置、计算机设备及存储介质,旨在解决配置逻辑代码的启动效率及成功率较低的问题。
4.为了实现上述发明目的,本技术提出一种配置逻辑代码的启动控制方法,包括:
5.获取ios应用程序启动阶段的配置逻辑代码;
6.将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名;
7.获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组;
8.将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码。
9.进一步地,所述获取ios应用程序启动阶段的配置逻辑代码,包括:
10.通过预设的编译器对所述ios应用程序的工程代码进行编译;
11.读取编译后的工程代码;
12.将所述编译后的工程代码中包含预设关键字的代码片段确定为所述ios应用程序启动阶段的配置逻辑代码。
13.进一步地,所述将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,包括:
14.获取数组结构的类型;
15.若所述类型为function类型,将所述配置逻辑代码以function形式写入至ios应用程序的可执行文件的目标数据段,并生成执行所述配置逻辑代码的指针函数;
16.若所述类型为block类型,将所述配置逻辑代码以block形式写入至ios应用程序的可执行文件的目标数据段,并生成执行所述配置逻辑代码的匿名函数。
17.进一步地,所述将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码,还包括:
18.将所述目标数组转化为对象数组,并调用所述对象数组中的指针函数以执行所述配置逻辑代码;或,
19.将所述目标数组转化为对象数组,并调用所述对象数组中的匿名函数以执行所述配置逻辑代码。
20.进一步地,所述将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名之后,还包括:
21.获取每一个所述配置逻辑代码的优先级;
22.在所述目标数据段中添加执行顺序字段,并根据所述优先级配置所述执行顺序字段的字段值,以配置所述配置逻辑代码的执行顺序。
23.进一步地,所述调用所述对象数组中的目标函数以执行所述配置逻辑代码,包括:
24.获取配置逻辑代码的执行顺序,根据所述执行顺序调用所述对象数组中的目标函数以执行所述配置逻辑代码。
25.进一步地,所述获取所述配置逻辑代码的执行时间之前,还包括:
26.获取所述配置逻辑代码关联的功能信息;
27.获取所述功能信息的启动时间与启动频率;
28.根据所述启动时间与启动频率生成所述配置逻辑代码的执行时间。
29.本技术还提供一种配置逻辑代码的启动控制装置,包括:
30.信息获取模块,用于获取ios应用程序启动阶段的配置逻辑代码;
31.数据存储模块,用于将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名;
32.执行响应模块,用于获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组;
33.控制执行模块,用于将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码。
34.本技术还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述配置逻辑代码的启动控制方法的步骤。
35.本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述配置逻辑代码的启动控制方法的步骤。
36.本技术例提供了一种自定义执行ios应用程序中的配置逻辑代码的方法,通过将程序启动阶段的代码逻辑写入到应用程序可执行文件的目标数据段,在需要执行的时机再取出来执行,首先获取ios应用程序启动阶段的配置逻辑代码,将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名,所述目标数据段为可执行文件的__data段,通过所述数组名可以定位到对应的配置逻辑代码,获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组,通过所述数组名进行筛选,可以定位到对应的配置逻辑代码,将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码,配置逻辑代码的执行时机自行决定,避免了在应用程序初始化阶段自动执行,从而可以降低程序启动阶段的时间,同时通过数组的方式来将需要执行
的配置逻辑代码段存储起来,在到达执行的时间解析出来后执行,解决配置逻辑代码被覆盖的问题,从而提高配置逻辑代码的启动的效率及成功率。
附图说明
37.图1为本技术配置逻辑代码的启动控制方法的一实施例流程示意图;
38.图2为本技术配置逻辑代码的启动控制装置的一实施例结构示意图;
39.图3为本技术计算机设备的一实施例结构示意框图。
40.本技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
41.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
42.参照图1,本技术实施例提供一种配置逻辑代码的启动控制方法,包括步骤s10-s40,对于所述配置逻辑代码的启动控制方法的各个步骤的详细阐述如下。
43.s10、获取ios应用程序启动阶段的配置逻辑代码。
44.本实施例应用于ios应用程序中业务逻辑代码执行前的配置逻辑代码的执行控制场景,在应用程序中,部分的逻辑代码需要在业务逻辑代码之前就先执行,将该部分的逻辑代码定义为配置逻辑代码,所述为配置逻辑代码包括方法交换、路由配置初始化等对应的逻辑代码。为了对ios应用程序中的配置逻辑代码进行合理地控制,包括分配不同的配置逻辑代码的启动时机,首先,获取ios应用程序启动阶段的配置逻辑代码,在一种实施方式中,可以通过在配置逻辑代码中进行预先打点,通过识别所述打点,获取配置逻辑代码;在另一种实施方式中,当ios应用程序的配置逻辑代码没有进行修改时,获取ios应用程序的启动阶段所参与的方法函数作为配置逻辑代码。
45.s20、将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名。
46.本实施例中,在获取ios应用程序启动阶段的配置逻辑代码之后,需要对所述配置逻辑代码的启动进行自主控制,即自行控制不同的配置逻辑代码的执行时间,具体的,将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,即将所述配置逻辑代码以数组的形式存储至可执行文件中,具体的将所述配置逻辑代码以数组的形式存储至可执行文件的目标数据段,所述目标数据段为可执行文件的__data段,并生成所述配置逻辑代码对应的数组名,通过所述数组名可以定位到对应的配置逻辑代码,在一种实施方式中,每一项配置逻辑代码均转化为相应的子数组进行存储,再将不同的所述子数组进行整合,并配置相应的数组名,生成所述配置逻辑代码对应的数组名。
47.s30、获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组。
48.本实施例中,在将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名之后,获取所述配置逻辑代码的执行时间,所述执行时间可以是预先设定好的不同配置逻辑代码的执行时
间,或者是基于所述配置逻辑代码的功能而确定的执行时间,在一种实施方式中,所述配置逻辑代码的执行时间与所述配置逻辑代码关联存储在数组中,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组。具体的,在应用程序的使用过程中,如果达到需要执行所述配置逻辑代码时,确定到达所述执行时间,然后根据所述数组名读取所述目标数据段中的目标数组,由于目标数据段中存储了不同的配置逻辑代码,通过所述数组名进行筛选,可以定位到对应的配置逻辑代码,即目标数组。
49.s40、将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码。
50.本实施例中,在获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组后,将所述目标数组转化为对象数组,即取出所述目标数组中的数据,然后将所述数据转化为对象,然后遍历所述对象数组,从所述对象数组中确定调用所述配置逻辑代码的目标函数,从而用所述对象数组中的目标函数以执行所述配置逻辑代码,配置逻辑代码的执行时机自行决定,避免了在应用程序初始化阶段自动执行,从而可以降低程序启动阶段的时间,同时通过数组的方式来将需要执行的配置逻辑代码段存储起来,在到达执行的时间解析出来后执行,解决配置逻辑代码被覆盖的问题,从而提高配置逻辑代码的启动的效率及成功率。
51.本实施例提供了一种自定义执行ios应用程序中的配置逻辑代码的方法,通过将程序启动阶段的代码逻辑写入到应用程序可执行文件的目标数据段,在需要执行的时机再取出来执行,首先获取ios应用程序启动阶段的配置逻辑代码,将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名,所述目标数据段为可执行文件的__data段,通过所述数组名可以定位到对应的配置逻辑代码,获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组,通过所述数组名进行筛选,可以定位到对应的配置逻辑代码,将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码,配置逻辑代码的执行时机自行决定,避免了在应用程序初始化阶段自动执行,从而可以降低程序启动阶段的时间,同时通过数组的方式来将需要执行的配置逻辑代码段存储起来,在到达执行的时间解析出来后执行,解决配置逻辑代码被覆盖的问题,从而提高配置逻辑代码的启动的效率及成功率。
52.在一个实施例中,所述获取ios应用程序启动阶段的配置逻辑代码,包括:
53.通过预设的编译器对所述ios应用程序的工程代码进行编译;
54.读取编译后的工程代码;
55.将所述编译后的工程代码中包含预设关键字的代码片段确定为所述ios应用程序启动阶段的配置逻辑代码。
56.本实施例中,在获取ios应用程序启动阶段的配置逻辑代码的过程中,为了提高配置逻辑代码的自动化搜寻及配置效率,通过预设的编译器对所述ios应用程序的工程代码进行编译,得到编译后的ios应用程序的工程代码,然后读取编译后的工程代码,再从所述编译后的工程代码中进行查找,将所述编译后的工程代码中包含预设关键字的代码片段确定为所述ios应用程序启动阶段的配置逻辑代码,所述预设关键字为attribute关键字,将包含attribute的代码片段确定为所述ios应用程序启动阶段的配置逻辑代码,具体的,编
译器在编译的时候读取到这个attribute关键字,将编译后的工程代码中包括该关键字的代码为配置逻辑代码,例如识别到编译后的工程代码中包含attribute关键字的代码为,__attribute__((used,section("__data,__pacx_func"))),__attribute__((used,section("__data,__pacx_block"))),将该逻辑代码确定为配置逻辑代码再写入至目标数据段的形式,从而提高在不同应用程序中的适用性,以及提高获取配置逻辑代码的效率。
57.在一个实施例中,所述将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,包括:
58.获取数组结构的类型;
59.若所述类型为function类型,将所述配置逻辑代码以function形式写入至ios应用程序的可执行文件的目标数据段,并生成执行所述配置逻辑代码的指针函数;
60.若所述类型为block类型,将所述配置逻辑代码以block形式写入至ios应用程序的可执行文件的目标数据段,并生成执行所述配置逻辑代码的匿名函数。
61.本实施例中,在将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中的过程中,由于数据结构包括多种不同的类型,不同企业开发的应用程序使用的数据结构类型不同,为了适应不同的实际开发场景,首先获取数组结构的类型,本实施例中定义两种ios应用程序中常用调用的数组结构类型,包括function类型和block类型,若所述类型为function类型,将所述配置逻辑代码以function形式写入至ios应用程序的可执行文件的目标数据段,并生成执行所述配置逻辑代码的指针函数,即将执行代码逻辑的地址配置至funcptr指针中,并生成执行所述配置逻辑代码的指针函数;若所述类型为block类型,将所述配置逻辑代码以block形式写入至ios应用程序的可执行文件的目标数据段,并生成执行所述配置逻辑代码的匿名函数,即设置执行的闭包代码赋值给block,从而配置不同的数组结构存储配置逻辑代码,提高实际开发场景的适用性。
62.在一个实施例中,所述将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码,包括:
63.将所述目标数组转化为对象数组,并调用所述对象数组中的指针函数以执行所述配置逻辑代码;或,
64.将所述目标数组转化为对象数组,并调用所述对象数组中的匿名函数以执行所述配置逻辑代码。
65.本实施例中,在将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码的过程,由于不同的数据结构配置了不同的逻辑配置代码的调用方法,当数组结构为function类型时,将所述目标数组转化为对象数组,并调用所述对象数组中的指针函数以执行所述配置逻辑代码,和/或,当所述数组结构为block类型类型时,将所述目标数组转化为对象数组,并调用所述对象数组中的匿名函数以执行所述配置逻辑代码。在一种实施方式中,通过“getsectiondata”函数传入对应的数组名,获取原始的配置逻辑代码的数据和数据的大小,然后将其通过数据类型转换,转换成funtion对象数组或者block对象数组,若转化为funtion对象数组,则调用所述对象数组中的指针函数以执行所述配置逻辑代码,若转化为block对象数组,则调用所述对象数组中的匿名函数以执行所述配置逻辑代码,从而配置不同方式执行存储在不同的数组结构存储配置逻辑代码,提高实际开发场景的适用性。
66.在一个实施例中,所述将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名之后,还包括:
67.获取每一个所述配置逻辑代码的优先级;
68.在所述目标数据段中添加执行顺序字段,并根据所述优先级配置所述执行顺序字段的字段值,以配置所述配置逻辑代码的执行顺序。
69.本实施例中,在将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名之后,获取每一个所述配置逻辑代码的优先级,所述优先级可以通过所述配置逻辑代码的功能等级而确定,然后在所述目标数据段中添加执行顺序字段,所述执行顺序字段可以是priority字段,并根据所述优先级配置所述priority字段的字段值,以配置所述配置逻辑代码的执行顺序,可以自定义不同逻辑配置代码的执行顺序,合理地分配资源,从而提高逻辑配置代码执行的效率与成功率。
70.在一个实施例中,所述调用所述对象数组中的目标函数以执行所述配置逻辑代码,包括:
71.获取配置逻辑代码的执行顺序,根据所述执行顺序调用所述对象数组中的目标函数以执行所述配置逻辑代码。
72.本实施例中,在调用所述对象数组中的目标函数以执行所述配置逻辑代码的过程中,获取配置逻辑代码的执行顺序,根据所述执行顺序调用所述对象数组中的目标函数以执行所述配置逻辑代码,即在调用所述对象数组中的目标函数以执行所述配置逻辑代码时,获取所述执行顺序,根据所述执行顺序调用所述对象数组中的目标函数以执行所述配置逻辑代码,可以自定义不同逻辑配置代码的执行顺序,合理地分配资源,从而提高逻辑配置代码执行的效率与成功率。
73.在一个实施例中,所述获取所述配置逻辑代码的执行时间之前,还包括:
74.获取所述配置逻辑代码关联的功能信息;
75.获取所述功能信息的启动时间与启动频率;
76.根据所述启动时间与启动频率生成所述配置逻辑代码的执行时间。
77.本实施例中,在获取所述配置逻辑代码的执行时间之前,需要确定不同配置逻辑代码的执行时间,具体的,获取所述配置逻辑代码关联的功能信息,即该配置逻辑代码是关联了哪个业务功能,需要在该业务功能执行前启动,然后获取所述功能信息的启动时间与启动频率,再根据大数据进行统计,基于所述功能信息的启动时间与启动频率生成所述配置逻辑代码的执行时间,从而基于大数据动态地配置不同配置逻辑代码的执行时间,从而提高逻辑配置代码执行的时机的合理性。
78.参照图2,本技术还提供一种配置逻辑代码的启动控制装置,包括:
79.信息获取模块10,用于获取ios应用程序启动阶段的配置逻辑代码;
80.数据存储模块20,用于将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名;
81.执行响应模块30,用于获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组;
82.控制执行模块40,用于将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码。
83.如上所述,可以理解地,本技术中提出的所述配置逻辑代码的启动控制装置的各组成部分可以实现如上所述配置逻辑代码的启动控制方法任一项的功能。
84.在一个实施例中,所述获取ios应用程序启动阶段的配置逻辑代码,包括:
85.通过预设的编译器对所述ios应用程序的工程代码进行编译;
86.读取编译后的工程代码;
87.将所述编译后的工程代码中包含预设关键字的代码片段确定为所述ios应用程序启动阶段的配置逻辑代码。
88.在一个实施例中,所述将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,包括:
89.获取数组结构的类型;
90.若所述类型为function类型,将所述配置逻辑代码以function形式写入至ios应用程序的可执行文件的目标数据段,并生成执行所述配置逻辑代码的指针函数;
91.若所述类型为block类型,将所述配置逻辑代码以block形式写入至ios应用程序的可执行文件的目标数据段,并生成执行所述配置逻辑代码的匿名函数。
92.在一个实施例中,所述将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码,包括:
93.将所述目标数组转化为对象数组,并调用所述对象数组中的指针函数以执行所述配置逻辑代码;或,
94.将所述目标数组转化为对象数组,并调用所述对象数组中的匿名函数以执行所述配置逻辑代码。
95.在一个实施例中,所述将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名之后,还包括:
96.获取每一个所述配置逻辑代码的优先级;
97.在所述目标数据段中添加执行顺序字段,并根据所述优先级配置所述执行顺序字段的字段值,以配置所述配置逻辑代码的执行顺序。
98.在一个实施例中,所述调用所述对象数组中的目标函数以执行所述配置逻辑代码,包括:
99.获取配置逻辑代码的执行顺序,根据所述执行顺序调用所述对象数组中的目标函数以执行所述配置逻辑代码。
100.在一个实施例中,所述获取所述配置逻辑代码的执行时间之前,还包括:
101.获取所述配置逻辑代码关联的功能信息;
102.获取所述功能信息的启动时间与启动频率;
103.根据所述启动时间与启动频率生成所述配置逻辑代码的执行时间。
104.参照图3,本技术实施例中还提供一种计算机设备,该计算机设备可以是移动终端,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和显示装置及输入装置。其中,该计算机设备的网络接口用于与外部的终端通过网
络连接通信。该计算机设备的输入装置用于接收用户的输入。该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括存储介质。该存储介质存储有操作系统、计算机程序和数据库。该计算机设备的数据库用于存放数据。该计算机程序被处理器执行时以实现一种配置逻辑代码的启动控制方法。
105.上述处理器执行上述的配置逻辑代码的启动控制方法,包括:获取ios应用程序启动阶段的配置逻辑代码;将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名;获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组;将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码。
106.所述计算机设备提供了一种自定义执行ios应用程序中的配置逻辑代码的方法,通过将程序启动阶段的代码逻辑写入到应用程序可执行文件的目标数据段,在需要执行的时机再取出来执行,首先获取ios应用程序启动阶段的配置逻辑代码,将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名,所述目标数据段为可执行文件的__data段,通过所述数组名可以定位到对应的配置逻辑代码,获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组,通过所述数组名进行筛选,可以定位到对应的配置逻辑代码,将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码,配置逻辑代码的执行时机自行决定,避免了在应用程序初始化阶段自动执行,从而可以降低程序启动阶段的时间,同时通过数组的方式来将需要执行的配置逻辑代码段存储起来,在到达执行的时间解析出来后执行,解决配置逻辑代码被覆盖的问题,从而提高配置逻辑代码的启动的效率及成功率。
107.本技术一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现一种配置逻辑代码的启动控制方法,包括步骤:获取ios应用程序启动阶段的配置逻辑代码;将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名;获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组;将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码。
108.所述计算机可读存储介质提供了一种自定义执行ios应用程序中的配置逻辑代码的方法,通过将程序启动阶段的代码逻辑写入到应用程序可执行文件的目标数据段,在需要执行的时机再取出来执行,首先获取ios应用程序启动阶段的配置逻辑代码,将所述配置逻辑代码以预设的数组结构写入至所述ios应用程序的可执行文件的目标数据段中,并生成所述配置逻辑代码对应的数组名,所述目标数据段为可执行文件的__data段,通过所述数组名可以定位到对应的配置逻辑代码,获取所述配置逻辑代码的执行时间,并在到达所述执行时间后,根据所述数组名读取所述目标数据段中的目标数组,通过所述数组名进行筛选,可以定位到对应的配置逻辑代码,将所述目标数组转化为对象数组,并调用所述对象数组中的目标函数以执行所述配置逻辑代码,配置逻辑代码的执行时机自行决定,避免了在应用程序初始化阶段自动执行,从而可以降低程序启动阶段的时间,同时通过数组的方
式来将需要执行的配置逻辑代码段存储起来,在到达执行的时间解析出来后执行,解决配置逻辑代码被覆盖的问题,从而提高配置逻辑代码的启动的效率及成功率。
109.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。
110.本技术所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。
111.非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
112.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
113.以上所述仅为本技术的优选实施例,并非因此限制本技术的专利范围。
114.凡是利用本技术说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本技术的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1