1.一种应用程序启动方法,其特征在于,包括:
获取应用程序的多个启动对象以及每个所述启动对象对应的类名、启动函数名称和延迟时间;
以所述类名、所述启动函数名称和所述延迟时间为函数输入参数,调用所述启动对象中的延时注册函数,对每个所述启动对象存储的启动函数进行注册,获得注册后的第一类名集合对象、第一函数名称集合对象和第一延迟时间集合对象,其中,所述延时注册函数具有公有权限修饰符;
根据所述第一类名集合对象、所述第一函数名称集合对象和所述第一延迟时间集合对象,对所述启动对象进行调度和加载。
2.根据权利要求1所述的方法,其特征在于,所述延时注册函数通过如下步骤实现对每个所述启动对象存储的启动函数进行注册的功能:若检测第一类名集合对象中不包含所述启动对象对应的类名,则调用第一类名集合对象中的类名添加函数,将所述启动对象对应的类名添加至所述第一类名集合对象中;
若检测所述启动对象对应的启动函数名称不为空,且第一函数名称集合对象中不包含所述启动函数名称,则调用第一函数名称集合对象中的函数名称添加函数,将所述启动对象对应的函数名称添加至所述第一函数名称集合对象中;
若检测所述启动对象对应的延迟时间大于或等于预设时间,则调用第一延迟时间集合对象中的延迟时间添加函数,将所述启动对象对应的延迟时间添加至所述第一延迟时间集合对象中。
3.根据权利要求2所述的方法,其特征在于,在所述调用第一延迟时间集合对象中的延迟时间添加函数之前,还包括:根据所述预设时间,对所述启动对象对应的延迟时间进行取整转换,并将转换后的延迟时间作为所述延迟时间添加函数的输入参数,以将转换后的延迟时间至所述第一延迟时间集合对象中。
4.根据权利要求1所述的方法,其特征在于,根据所述第一类名集合对象、所述第一函数名称集合对象和所述第一延迟时间集合对象,对所述启动对象进行调度和加载,包括:对所述第一延迟时间集合对象中的各延迟时间进行升序排列,并将排列后的第一延迟时间集合对象确定为第二延迟时间集合对象;
根据所述第一延迟时间集合对象对应的顺序调整信息,分别调整所述第一类名集合对象和所述第一函数名称集合对象中元素的排列顺序,确定第二类名集合对象和第二函数名称集合对象;
根据所述第二延迟时间集合对象中延迟时间的排列顺序,依次进行定时操作,并根据所述第二类名集合对象和所述第二函数名称集合对象,确定并加载与当前延迟时间对应的当前启动对象。
5.根据权利要求4所述的方法,其特征在于,根据所述第一延迟时间集合对象对应的顺序调整信息,分别调整所述第一类名集合对象和所述第一函数名称集合对象中元素的排列顺序,确定第二类名集合对象和第二函数名称集合对象,包括:在对所述第一延迟时间集合对象中的各延迟时间进行升序排列时,记录每个所述延迟时间在排列之前的第一位置以及排列之后的第二位置;
根据各所述延迟时间对应的所述第一位置和所述第二位置,对所述第一类名集合对象中的各类名进行排列,并将排列后的第一类名集合对象确定为第二类名集合对象;
根据各所述延迟时间对应的所述第一位置和所述第二位置,对所述第一函数名称集合对象中的各函数名称进行排列,并将排列后的第一函数名称集合对象确定为第二函数名称集合对象。
6.根据权利要求4所述的方法,其特征在于,根据所述第二延迟时间集合对象中延迟时间的排列顺序,依次进行定时操作,并根据所述第二类名集合对象和所述第二函数名称集合对象,确定并加载与当前延迟时间对应的当前启动对象,包括:将所述第二延迟时间集合对象中的第一个延迟时间均作为当前目标时间和当前延时元素,并获得当前延时元素的后一延时元素;
以当前延时元素对应的当前元素索引号和当前目标时间为函数输入参数,调用消息处理对象中的消息发送函数,于延迟当前目标时间后,获取包含当前元素索引号的延迟消息;
在获取所述延迟消息时,根据所述第二类名集合对象和所述第二函数名称集合对象,确定并加载与当前元素索引号对应的当前启动对象;
检测所述当前延时元素是否为所述第二延迟时间集合对象中的最后一个延迟时间;
若是,则所述应用程序启动结束;
若否,则将后一延时元素与当前延时元素之间的时间差更新为当前目标时间,以及将后一延时元素更新为当前延时元素,并返回执行所述以当前延时元素对应的当前元素索引号和当前目标时间为函数输入参数,调用消息发送函数的操作。
7.根据权利要求6所述的方法,其特征在于,根据所述第二类名集合对象和所述第二函数名称集合对象,确定并加载与当前元素索引号对应的当前启动对象,包括:以所述当前元素索引号为函数输入参数,调用所述第二类名集合对象中的类名获取函数,确定当前元素索引号对应的当前类名;
以所述当前元素索引号为函数输入参数,调用所述第二函数名称集合对象中的函数名称获取函数,确定当前元素索引号对应的当前启动函数名称;
以所述当前启动函数名称为函数输入参数,调用所述当前类名对应的目标类对象中的对象加载函数,加载与所述当前启动函数名称对应的当前启动对象。
8.根据权利要求6所述的方法,其特征在于,在根据所述第二类名集合对象和所述第二函数名称集合对象,确定并加载与当前元素索引号对应的当前启动对象之前,还包括:开启一个新线程,以在所述新线程中,执行根据所述第二类名集合对象和所述第二函数名称集合对象,确定并加载与当前元素索引号对应的当前启动对象的操作。
9.一种应用程序启动装置,其特征在于,包括:
启动对象获取模块,用于获取应用程序的多个启动对象以及每个所述启动对象对应的类名、启动函数名称和延迟时间;
延时注册模块,用于以所述类名、所述启动函数名称和所述延迟时间为函数输入参数,调用所述启动对象中的延时注册函数,对每个所述启动对象存储的启动函数进行注册,获得注册后的第一类名集合对象、第一函数名称集合对象和第一延迟时间集合对象,其中,所述延时注册函数具有公有权限修饰符;
启动对象调度加载模块,用于根据所述第一类名集合对象、所述第一函数名称集合对象和所述第一延迟时间集合对象,对所述启动对象进行调度和加载。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的应用程序启动方法。