加载插件的方法及装置的制造方法

xiaoxiao2021-3-1  168

加载插件的方法及装置的制造方法
【技术领域】
[0001 ]本公开涉及通信及计算机处理领域,尤其涉及加载插件的方法及装置。
【背景技术】
[0002] 随着电子技术的发展,移动终端已经普遍应用。移动终端可以为用户提供越来越 多的功能和服务。通常一个功能或一个服务就是一个应用(APP)。人们一般每天开关应用数 十次。

【发明内容】

[0003] 为克服相关技术中存在的问题,本公开提供一种加载插件的方法及装置。
[0004] 根据本公开实施例的第一方面,提供一种加载插件的方法,包括:
[0005] 接收打开应用的触发;
[0006] 调用所述应用并加载所述应用的主程序;
[0007] 通过所述应用的主程序加载所述应用的基础插件。
[0008] 本公开的实施例提供的技术方案可以包括以下有益效果:在打开应用时,只加载 应用的主程序和基础插件,从而,不需要加载应用的全部功能模块,实现了快速启动应用, 减少了系统负荷。
[0009] 在一个实施例中,所述方法还包括:
[0010] 接收命令;
[0011] 判断接收的所述命令对应的插件是否已加载;
[0012] 在接收的所述命令对应的插件未加载时,通过所述应用的主程序加载接收的所述 命令对应的插件。
[0013] 本公开的实施例提供的技术方案可以包括以下有益效果:在接收到命令且该命令 对应的插件没有加载时,通过应用的主程序加载该命令对应的插件,通过加载接收到的命 令对应的插件,实现在快速启动应用的基础上,保证了该应用功能的完整性。
[0014] 在一个实施例中,所述命令包括:用户触发的指令或网络侧发送的消息。
[0015] 本公开的实施例提供的技术方案可以包括以下有益效果:该命令既可包括用户触 发的指令,又可包括网络侧发送的消息,从而,保证了接收到用户触发的指令或网络侧发送 的消息时,该应用所对应的插件都能够针对不同的命令类型做出正确响应,进而保证了在 接收到不同类型的命令时都能够保证该应用功能的完整性。
[0016] 在一个实施例中,所述命令包括:对应的插件的标识;所述方法还包括:根据所述 命令中的插件的标识,确定所述命令对应的插件;或者
[0017] 根据预先建立的命令标识与插件标识的对应关系,确定接收的所述命令对应的插 件。
[0018] 本公开的实施例提供的技术方案可以包括以下有益效果:在命令中包括该命令对 应的插件的标识,从而,能够通过该插件的标识确定该命令对应的插件;其次,还可以预先 建立命令标识与插件标识的对应关系,从而,无需携带插件的标识即可确定该命令对应的 插件,本实施例中,提供多种确定命令对应的插件的方法,使确定命令对应的插件的方法更 加多样化。
[0019] 在一个实施例中,在通过所述应用的主程序加载接收的所述命令对应的插件之 前,所述方法还包括:
[0020] 在主程序中查询插件标识与插件的映射关系表,确定所述命令对应的插件标识所 对应的插件;
[0021] 将命令中的命令参数传递给确定的所述插件。
[0022] 本公开的实施例提供的技术方案可以包括以下有益效果:在加载接收到命令对应 的插件之前,先将命令中的命令参数传递给确定的插件,从而能够使该插件在加载之后,通 过该命令参数执行相应的功能,保证了该插件的正确响应。
[0023] 在一个实施例中,通过所述应用的主程序加载插件,包括:
[0024] 通过所述应用的主程序将插件加载到内存;
[0025] 调用所述插件的初始化函数接口,对所述插件进行初始化。
[0026] 本公开的实施例提供的技术方案可以包括以下有益效果:通过对插件进行初始 化,从而减少在后续数据展示过程中出现错误的可能。
[0027]在一个实施例中,所述方法还包括:
[0028]接收退出所述应用的触发;
[0029]通过所述主程序卸载已加载的插件;
[0030] 退出所述主程序。
[0031] 本公开的实施例提供的技术方案可以包括以下有益效果:在退出应用的主程序之 前,先通过主程序卸载已加载的插件,从而,避免了在应用退出之后,已加载的插件仍在运 行而导致系统资源的不必要浪费。
[0032] 根据本公开实施例的第二方面,提供一种加载插件的方法,包括:
[0033] 第一接收模块,用于接收打开应用的触发;
[0034] 调用模块,用于调用所述应用并加载所述应用的主程序;
[0035] 第一加载模块,用于通过所述应用的主程序加载所述应用的基础插件。
[0036] 在一个实施例中,所述装置还包括:
[0037]第二接收模块,用于接收命令;
[0038] 判断模块,用于判断接收的所述命令对应的插件是否已加载;
[0039] 第二加载模块,用于在接收的所述命令对应的插件未加载时,通过所述应用的主 程序加载接收的所述命令对应的插件。
[0040] 在一个实施例中,所述装置还包括:
[0041]第一确定模块,用于当所述命令包括对应的插件的标识时,根据所述命令中的插 件的标识,确定所述命令对应的插件;或者
[0042]第二确定模块,用于根据预先建立的命令标识与插件标识的对应关系,确定接收 的所述命令对应的插件。
[0043] 在一个实施例中,所述装置还包括:
[0044]第三确定模块,用于在所述第二加载模块通过所述应用的主程序加载接收的所述 命令对应的插件之前,在主程序中查询插件标识与插件的映射关系表,确定所述命令对应 的插件标识所对应的插件;
[0045] 传递模块,用于将命令中的命令参数传递给确定的所述插件。
[0046] 在一个实施例中,所述第一加载模块和/或第二加载模块,包括:
[0047] 加载子模块,用于通过所述应用的主程序将插件加载到内存;
[0048] 初始化子模块,用于调用所述插件的初始化函数接口,对所述插件进行初始化。
[0049] 在一个实施例中,所述装置还包括:
[0050] 第三接收模块,用于接收退出所述应用的触发;
[0051] 卸载模块,用于通过所述主程序卸载已加载的插件;
[0052]退出模块,用于退出所述主程序。
[0053]根据本公开实施例的第三方面,提供一种加载插件的装置,包括:
[0054] 处理器;
[0055] 用于存储处理器可执行指令的存储器;
[0056]其中,所述处理器被配置为:
[0057]接收打开应用的触发;
[0058]调用所述应用并加载所述应用的主程序;
[0059]通过所述应用的主程序加载所述应用的基础插件。
[0060] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不 能限制本公开。
【附图说明】
[0061] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施 例,并与说明书一起用于解释本公开的原理。
[0062] 图1是根据一示例性实施例示出的一种加载插件的方法的流程图;
[0063] 图2是根据一示例性实施例示出的一种加载插件的方法的流程图;
[0064] 图3是根据一示例性实施例示出的一种加载插件的方法的流程图;
[0065] 图4是根据一示例性实施例示出的一种加载插件的方法的流程图;
[0066] 图5是根据一示例性实施例示出的一种加载插件的方法的流程图;
[0067] 图6是根据一示例性实施例示出的一种加载插件的方法的流程图;
[0068] 图7是根据一示例性实施例示出的一种加载插件的方法的流程图;
[0069] 图8是根据一示例性实施例示出的一种加载插件的方法的流程图;
[0070] 图9是根据一示例性实施例示出的一种加载插件的装置示意图;
[0071 ]图10是根据一示例性实施例示出的一种加载插件的装置示意图;
[0072] 图11是根据一示例性实施例示出的一种加载插件的装置示意图;
[0073] 图12是根据一示例性实施例示出的一种加载插件的装置示意图;
[0074] 图13是根据一示例性实施例示出的一种加载插件的装置示意图;
[0075] 图14是根据一示例性实施例示出的一种加载插件的装置示意图;
[0076]图15是根据一示例性实施例示出的一种用于加载插件的装置的框图。
【具体实施方式】
[0077] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0078] 相关技术中,随着越来越多移动终端应用的问世,不断地完善移动终端原始系统 的功能,使移动终端的功能越来越多,甚至已经发展到了可以媲美计算机的程度,很多移动 终端应用所提供的功能非常实用,对于这类移动终端应用,用户每天通常会开关很多次。
[0079] 有些终端应用具有多种功能,在接收到用户点击指令时,移动终端根据该点击指 令启动相应的移动终端应用,在启动时,会加载该移动终端应用中的所有功能模块。
[0080] 然而,用户可能仅需要用到该应用中的某一特定功能,很多功能模块的加载是不 必要的,有些大型的移动终端应用,可能会具有非常多的功能模块,采用这样的启动方式, 不仅会使这类移动终端应用的启动变慢,还会增加系统负荷,因而,如何实现快速启动移动 终端应用,减少系统负荷,成为一种亟待解决的问题。
[0081] 本公开中,提出一种加载插件的方法及装置,能够在启动移动终端应用时,只启动 用户需要用到的功能模块,从而实现快速启动移动终端应用,减少系统负荷。
[0082] 图1是根据一示例性实施例示出的一种加载插件的方法的流程图,如图1所示,该 方法可以由移动终端实现,可被实施为如下步骤S11-S13:
[0083]在步骤S11中,接收打开应用的触发;
[0084] 在步骤S12中,调用应用并加载应用的主程序;
[0085] 在步骤S13中,通过应用的主程序加载应用的基础插件。
[0086] 首先,可以分析移动终端中,各个应用的特点,可以按照功能将应用拆分为主程序 和多种插件模块,主程序通过安装包的方式进行安装,由移动终端的操作系统负责启动,当 用户打开终端应用时,系统负责启动主程序,主程序提供基础功能,如插件版本升级,通用 基础功能模块。
[0087]本实施例将应用中的各个功能模块化,成为一个个独立的功能模块,通过插件结 构体现。这些插件是在原应用平台的基础上开发的,通过调用原应用平台的函数。在启动应 用后,由于各个插件是独立的,因而,如果不需要,就不会调用这些插件。在需要某一插件的 功能时,无需调用所有的插件,可以仅对需要用到的插件进行单独调用。本实施例中在启动 时,仅启动应用的主程序和基础插件,无需启动所有的功能模块,从而实现了应用的快速启 动,减少了系统负荷。其次,本实施例将应用的功能模块插件化,能够使各个功能模块的调 用和关闭更加容易,且更加方便应用的升级和维护。
[0088] 举例而言,在接收到打开应用的指令时,调用该应用并由操作系统负责加载该应 用的主程序,通过该应用的主程序加载该应用的基础插件,例如,当该应用为提供购物功能 的应用时,该应用的基础插件可以包括:首页插件,分类页插件和精选页插件。
[0089] 本公开的实施例提供的技术方案可以包括以下有益效果:在打开应用时,只加载 应用的主程序和基础插件,从而,不需要加载应用的全部功能模块,实现了快速启动应用, 减少了系统负荷。
[0090] 在一个实施例中,如图2所示,在上述步骤S13之后,方法还可被实施为如下步骤 S21-S23:
[0091] 在步骤S21中,接收命令;
[0092] 在步骤S22中,判断接收的命令对应的插件是否已加载;
[0093] 在步骤S23中,在接收的命令对应的插件未加载时,通过应用的主程序加载接收的 命令对应的插件。
[0094]以提供购物功能的应用为例,在打开该购物功能的应用时,调用该应用并加载该 应用的主程序,通过该应用的主程序加载该应用的首页插件、分类页插件、精选页插件等基 础插件,当接收到新的命令时,判断该命令对应的插件是否已加载。例如,用户要通过该应 用购买精选页中的一件商品。首先,用户点击进入精选页的按钮,生成进入精选页的命令, 并发送给主程序。由于精选页插件为基础插件,在打开该购物功能的应用时就已经加载,所 以,在移动终端接收到该命令时,进入精选页的命令对应的精选页插件已经开启,可直接进 入精选页。然后,用户在选择要购买的商品之后,进入付款页面,生成进入付款页面的命令, 并发送给移动终端,移动终端在接收到付款命令时,判断该进入付款页面的命令对应的付 款插件未开启,则通过主程序加载该付款命令对应的付款插件。从而为用户提供付款功能。
[0095] 又例如,用户购买了一件商品之后,想要查看该商品的物流信息,则可打开该购物 功能的应用,通过点击物流信息按钮查看物流信息,在用户点击物流信息按钮时,生成进入 物流页面的命令并发送给移动终端,移动终端接收到该命令时,判断该命令对应的物流插 件未开启,则通过主程序加载该命令对应的物流插件。
[0096] 又例如,当用户想要购买一件商品时,由于商品断货、价格太高等缘故,没有购买 该商品,只是将该商品进行预订或收藏,当该商品补货或降价时,服务器会将降价或补货的 消息推送给收藏该商品的终端,在终端收到服务器推送的该消息时,生成打开消息通知插 件的命令,通过判断,消息通知插件未加载,则加载该消息通知软件,并将消息通知显示该 商品已补货或已降价的信息。当用户点击该条消息时,生成显示该商品详细信息的命令,根 据该命令判断该商品的详细页插件是否加载,当该命令对应的商品的详细页插件未加载 时,加载该命令对应的商品的详细页插件。
[0097] 又例如,当用户完成一件商品的购买指令之后,当该商品的物流信息改变时,如当 该商品出库时、到达中转城市物流中心时,到达目的城市物流中心时,提供该商品物流功能 的后台服务器会实时将物流信息改变的消息推送给该购物应用对应的移动终端,在终端接 收到物流信息改变的通知时,生成打开消息通知插件的命令,判断该命令对应的消息通知 插件是否已加载,当该命令对应的物流插件未加载时,通过购物应用的主程序加载该消息 通知插件,显示物流信息改变的信息,同时,可根据该信息同步更新物流插件,当用户主动 点击物流插件查看物流信息的时候,可以看到最新的物流信息。
[0098] 本实施例包括但不仅限于上述示例,上述示例仅用于通过举例更加清楚地描述本 公开,并不用于限制本公开。
[0099] 本公开的实施例提供的技术方案可以包括以下有益效果:在接收到命令且该命令 对应的插件没有加载时,通过应用的主程序加载该命令对应的插件,通过加载接收到的命 令对应的插件,实现在快速启动应用的基础上,保证了该应用功能的完整性。
[0100] 在一个实施例中,命令包括:用户触发的指令或网络侧发送的消息。
[0101] 例如,用户进入商品精选页的操作对应进入商品精选页的命令,移动终端可根据 该命令加载精选页插件;当用户要对该商品进行付款操作对应进入付款页面的命令,移动 终端可根据该命令加载付款插件;又例如,当用户购买的商品的物流信息发生变化时,网络 侧发送表示物流信息改变的消息移动终端可根据该消息加载物流插件,并通过该物流插件 显示该消息的内容,通知用户物流信息发生改变。
[0102] 本公开的实施例提供的技术方案可以包括以下有益效果:该命令既可包括用户触 发的指令,又可包括网络侧发送的消息,从而,保证了接收到用户触发的指令或网络侧发送 的消息时,该应用所对应的插件都能够针对不同的命令类型做出正确响应,进而保证了在 接收到不同类型的命令时都能够保证该应用功能的完整性。
[0103] 在一个实施例中,命令包括:对应的插件的标识;在上述步骤S21之后,方法还可被 实施为如下步骤A1或A2:
[0104] 在步骤A1中,根据命令中的插件的标识,确定命令对应的插件;
[0105] 在步骤A2中,根据预先建立的命令标识与插件标识的对应关系,确定接收的命令 对应的插件。
[0106] 本实施例中,插件的标识可以是插件的编号,也可以是插件的名称。例如,当插件 的标识是 插件的编号时,在接收到的命令中,可携带要打开的插件的编号,移动终端根据该 插件的编号确定该命令对应的插件。
[0107]本实施例中,也可以在命令中直接携带插件名称,接收到命令时,根据携带在命令 中的插件名称确定该命令所对应的插件。
[0108] 或者,可预先建立命令标识与插件标识的对应关系,根据该命令标识与插件标识 的对应关系,确定接收的命令对应的插件
[0109] 需要说明的是,上述步骤A1和A2为并列步骤,是关于命令对应的插件的两种不同 的确定方法,不存在先后顺序。
[0110] 本公开的实施例提供的技术方案可以包括以下有益效果:在命令中包括该命令对 应的插件的标识,从而,能够通过该插件的标识确定该命令对应的插件;其次,还可以预先 建立命令标识与插件标识的对应关系,从而,无需携带插件的标识即可确定该命令对应的 插件,本实施例中,提供多种确定命令对应的插件的方法,使确定命令对应的插件的方法更 加多样化。
[0111] 在一个实施例中,如图3所示,在上述步骤S23之前,方法还可被实施为如下步骤 S31-S32:
[0112] 在步骤S31中,在主程序中查询插件标识与插件的映射关系表,确定命令对应的插 件标识所对应的插件;
[0113] 在步骤S32中,将命令中的命令参数传递给确定的插件。
[0114] 举例而言,当插件标识为插件编号时,可建立一张用于记录插件编号和插件的映 射关系表,如下表1所示。
[0115] 举例而言,当商品从广州出库发往北京时,物流信息发生改变,网络侧向对应移动 终端推送"商品已从广州发往北京"的物流通知,移动终端接收到该物流通知时,相当于接 收到打开物流详细信息的命令,在该命令中,携带通知用户物流信息改变的命令参数,该参 数可为如下形式:
[0116] (l)title:物流通知;
[0117] (2)description:您购买的宝贝"XX"已从广州发往北京;
[0118] (3)body :plugin_ 编号= 1004;
[0119] 其中,"title"字段标识通知信息的标题。"description"字段标识该通知信息的 正文。"body"字段标识通知信息对应的插件编号,该命令通过该"body"字段携带插件编号。
[0120] 当接收到命令时,根据上述命令参数,可确定插件编号为1004,根据下表1可知,该 插件编号对应的插件为消息通知插件,将命令中的命令参数传递给消息通知插件,从而,可 通过消息通知插件显示物流信息改变的通知,例如,显示标题为"物流通知",显示正文为 "您购买的宝贝"XX"已从广州发往北京"。另外,也可以在命令参数中携带物流插件的插件 编号:1006,从而在通过消息通知插件显示物流改变的信息时,将物流改变的信息同步更新 至物流插件,当用户主动点击物流插件查看物流信息的时候,可以看到最新的物流信息。
[0121] 表1
[0123] 本公开的实施例提供的技术方案可以包括以下有益效果:在加载接收到命令对应 的插件之前,先将命令中的命令参数传递给确定的插件,从而能够使该插件在加载之后,通 过该命令参数执行相应的功能,保证了该插件的正确响应。
[0124] 在一个实施例中,如图4所示,上述步骤S13或者上述步骤S23可被实施为如下步骤 S41-S42:
[0125] 在步骤S41中,通过应用的主程序将插件加载到内存;
[0126] 在步骤S42中,调用插件的初始化函数接口,对插件进行初始化。
[0127] 本实施例中,通过应用的主程序将插件加载到内存,可通过读取插件的配置文件, 将插件通过动态加载的方式载入内存。调用各个插件的Init函数接口完成插件的初始化动 作,例如,在加载首页插件时,主程序调用首页插件的Init函数接口完成初始化。然后,首页 插件向该应用的后台服务器请求相应的首页数据,并将请求到的数据展示给用户。
[0128] 本公开的实施例提供的技术方案可以包括以下有益效果:通过对插件进行初始 化,从而减少在后续数据展示过程中出现错误的可能。
[0129] 在一个实施例中,如图5所示,在上述步骤S13之后,方法还可被实施为如下步骤 S51-S53:
[0130] 在步骤S51中,接收退出应用的触发;
[0131] 在步骤S52中,通过主程序卸载已加载的插件;
[0132] 在步骤S53中,退出主程序。
[0133] 由于将应用的功能模块插件化之后,插件与应用之间相互独立,因而,在用户通过 退出按钮退出应用时,先通过主程序卸载已经加载的插件,在卸载完毕后,再退出主程序, 从而避免插件仍在运行而导致系统资源的不必要浪费,同时,避免插件未卸载而导致内存 空间的浪费,接收到主程序退出的指令时,主程序首先会一次调用各插件模块的Uninti函 数,卸载已加载的插件,卸载完毕之后,退出主程序。
[0134] 本公开的实施例提供的技术方案可以包括以下有益效果:在退出应用的主程序之 前,先通过主程序卸载已加载的插件,从而,避免了在应用退出之后,已加载的插件仍在运 行而导致系统资源的不必要浪费。
[0135] 图6是根据一示例性实施例示出的一种加载插件的方法的流程图,如图6所示,该 方法可以由移动终端实现,可被实施为如下步骤S61-S69:
[0136] 在步骤S61中,接收打开应用的触发;
[0137] 在步骤S62中,调用应用并加载应用的主程序;
[0138] 在步骤S63中,通过应用的主程序将基础插件加载到内存;
[0139] 在步骤S64中,调用基础插件的初始化函数接口,对基础插件进行初始化;
[0140] 在步骤S65中,接收命令;
[0141] 在步骤S66中,根据预先建立的命令标识与插件标识的对应关系,确定接收的命令 对应的插件;
[0142] 在步骤S67中,判断接收的命令对应的插件是否已加载;
[0143] 在步骤S68中,在接收的命令对应的插件未加载时,通过应用的主程序将命令对应 的插件加载到内存;
[0144] 在步骤S69中,调用插件的初始化函数接口,对插件进行初始化。
[0145] 图7是根据一示例性实施例示出的一种加载插件的方法的流程图,如图7所示,该 方法可以由移动终端实现,可被实施为如下步骤S71-S78:
[0146] 在步骤S71中,接收打开应用的触发;
[0147] 在步骤S72中,调用应用并加载应用的主程序;
[0148] 在步骤S73中,通过应用的主程序加载应用的基础插件;
[0149] 在步骤S74中,接收命令;
[0150] 在步骤S75中,判断接收的命令对应的插件是否已加载;
[0151] 在步骤S76中,在接收的命令对应的插件未加载时,在主程序中查询插件标识与插 件的映射关系表,确定命令对应的插件标识所对应的插件;
[0152] 在步骤S77中,将命令中的命令参数传递给确定的插件;
[0153] 在步骤S78中,通过应用的主程序加载接收的命令对应的插件。
[0154] 图8是根据一示例性实施例示出的一种加载插件的方法的流程图,如图8所示,该 方法可以由移动终端实现,可被实施为如下步骤S801-S810:
[0155] 在步骤S801中,接收打开应用的触发;
[0156] 在步骤S802中,调用应用并加载应用的主程序;
[0157] 在步骤S803中,通过应用的主程序加载应用的基础插件;
[0158] 在步骤S804中,接收命令;
[0159] 在步骤S805中,根据命令中的插件的标识,确定命令对应的插件;
[0160]在步骤S806中,判断接收的命令对应的插件是否已加载;
[0161 ]在步骤S807中,在接收的命令对应的插件未加载时,通过应用的主程序加载接收 的命令对应的插件;
[0162] 在步骤S808中,接收退出应用的触发;
[0163] 在步骤S809中,通过主程序卸载已加载的插件;
[0164] 在步骤S810中,退出主程序。
[0165] 通过以上介绍了解了加载插件的实现过程,该过程由移动终端实现,下面针对该 移动终端的内部结构和功能进行介绍。< br>[0166] 图9是根据一示例性实施例示出的一种加载插件的装置示意图。参照图9,该装置 包括:第一接收模块91,调用模块92和第一加载模块93。
[0167] 该第一接收模块91,用于接收打开应用的触发;
[0168] 该调用模块92,用于调用应用并加载应用的主程序;
[0169] 该第一加载模块93,用于通过应用的主程序加载应用的基础插件。
[0170] 在一个实施例中,如图10所示,装置还包括:第二接收模块101,判断模块102和第 二加载模块103。
[0171] 第二接收模块101,用于接收命令;
[0172] 判断模块102,用于判断接收的命令对应的插件是否已加载;
[0173] 第二加载模块103,用于在接收的命令对应的插件未加载时,通过应用的主程序加 载接收的命令对应的插件。
[0174]在一个实施例中,如图11所示,装置还包括:第一确定模块111和第二确定模块 112〇
[0175] 第一确定模块111,用于当命令包括对应的插件的标识时,根据命令中的插件的标 识,确定命令对应的插件;
[0176] 第二确定模块112,用于根据预先建立的命令标识与插件标识的对应关系,确定接 收的命令对应的插件。
[0177] 在一个实施例中,如图12所示,装置还包括:第三确定模块121和传递模块122。
[0178] 第三确定模块121,用于在第二加载模块通过应用的主程序加载接收的命令对应 的插件之前,在主程序中查询插件标识与插件的映射关系表,确定命令对应的插件标识所 对应的插件;
[0179]传递模块122,用于将命令中的命令参数传递给确定的插件。
[0180]在一个实施例中,如图13所示,第一加载模块93和/或第二加载模块103,包括: [0181]加载子模块131,用于通过应用的主程序将插件加载到内存;
[0182] 初始化子模块132,用于调用插件的初始化函数接口,对插件进行初始化。
[0183] 在一个实施例中,如图14所示,装置还包括:
[0184] 第三接收模块141,用于接收退出应用的触发;
[0185]卸载模块142,用于通过主程序卸载已加载的插件;
[0186] 退出模块143,用于退出主程序。
[0187] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法 的实施例中进行了详细描述,此处将不做详细阐述说明。
[0188]图15是根据一不例性实施例不出的一种用于加载插件的装置1500的框图。例如, 装置1500可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备, 医疗设备,健身设备,个人数字助理等。
[0189] 参照图15,装置1500可以包括以下一个或多个组件:处理组件1502,存储器1504, 电源组件1506,多媒体组件1508,音频组件1510,输入/输出(I/0)的接口 1512,传感器组件 1514,以及通信组件1516。
[0190] 处理组件1502通常控制装置1500的整体操作,诸如与显示,电话呼叫,数据通信, 相机操作和记录操作相关联的操作。处理组件1502可以包括一个或多个处理器1520来执行 指令,以完成上述的方法的全部或部分步骤。此外,处理组件1502可以包括一个或多个模 块,便于处理组件1502和其他组件之间的交互。例如,处理组件1502可以包括多媒体模块, 以方便多媒体组件1508和处理组件1502之间的交互。
[0191]存储器1504被配置为存储各种类型的数据以支持在设备1500的操作。这些数据的 示例包括用于在装置1500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据, 消息,图片,视频等。存储器1504可以由任何类型的易失性或非易失性存储设备或者它们的 组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPR0M),可擦除可 编程只读存储器(EPROM),可编程只读存储器(PR0M),只读存储器(ROM),磁存储器,快闪存 储器,磁盘或光盘。
[0192] 电力组件1506为装置1500的各种组件提供电力。电力组件1506可以包括电源管理 系统,一个或多个电源,及其他与为装置1500生成、管理和分配电力相关联的组件。
[0193] 多媒体组件1508包括在所述装置1500和用户之间的提供一个输出接口的屏幕。在 一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板, 屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传 感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动 作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多 媒体组件1508包括一个前置摄像头和/或后置摄像头。当设备1500处于操作模式,如拍摄模 式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像 头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0194] 音频组件1510被配置为输出和/或输入音频信号。例如,音频组件1510包括一个麦 克风(MIC),当装置1500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被 配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1504或经由通信 组件1516发送。在一些实施例中,音频组件1510还包括一个扬声器,用于输出音频信号。
[0195] I/O接口 1512为处理组件1502和外围接口模块之间提供接口,上述外围接口模块 可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和 锁定按钮。
[0196] 传感器组件1514包括一个或多个传感器,用于为装置1500提供各个方面的状态评 估。例如,传感器组件1514可以检测到设备1500的打开/关闭状态,组件的相对定位,例如所 述组件为装置1500的显示器和小键盘,传感器组件1514还可以检测装置1500或装置1500的 一个组件的位置改变,用户与装置1500接触的存在或不存在,装置1500方位或加速/减速和 装置1500的温度变化。传感器组件1514可以包括接近传感器,被配置用来在没有任何的物 理接触时检测附近物体的存在。传感器组件1514还可以包括光传感器,如CMOS或(XD图像传 感器,用于在成像应用中使用。在一些实施例中,该传感器组件1514还可以包括加速度传感 器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
[0197] 通信组件1516被配置为便于装置1500和其他设备之间有线或无线方式的通信。装 置1500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性 实施例中,通信部件1516经由广播信道接收来自外部广播管理系统的广播信号或广播相关 信息。在一个示例性实施例中,所述通信部件1516还包括近场通信(NFC)模块,以促进短程 通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带 (UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0198] 在示例性实施例中,装置1500可以被一个或多个应用专用集成电路(ASIC)、数字 信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列 (FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0199] 在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例 如包括指令的存储器1504,上述指令可由装置1500的处理器1520执行以完成上述方法。例 如,所述非临时性计算机可读存储介质可以是R0M、随机存取存储器(RAM)、CD-R0M、磁带、软 盘和光数据存储设备等。
[0200] 一种加载插件的装置,包括:
[0201] 处理器;
[0202] 用于存储处理器可执行指令的存储器;
[0203]其中,所述处理器被配置为:
[0204] 接收打开应用的触发;
[0205] 调用所述应用并加载所述应用的主程序;
[0206] 通过所述应用的主程序加载所述应用的基础插件。
[0207] 所述处理器还 可以被配置为:
[0208] 接收命令;
[0209] 判断接收的所述命令对应的插件是否已加载;
[0210] 在接收的所述命令对应的插件未加载时,通过所述应用的主程序加载接收的所述 命令对应的插件。
[0211] 所述处理器还可以被配置为:
[0212]所述命令包括:用户触发的指令或网络侧发送的消息。
[0213] 所述处理器还可以被配置为:
[0214] 根据所述命令中的插件的标识,确定所述命令对应的插件;
[0215] 根据预先建立的命令标识与插件标识的对应关系,确定接收的所述命令对应的插 件。
[0216] 所述处理器还可以被配置为:
[0217] 在主程序中查询插件标识与插件的映射关系表,确定所述命令对应的插件标识所 对应的插件;
[0218] 将命令中的命令参数传递给确定的所述插件。
[0219] 所述处理器还可以被配置为:
[0220] 通过所述应用的主程序加载插件,包括:
[0221] 通过所述应用的主程序将插件加载到内存;
[0222] 调用所述插件的初始化函数接口,对所述插件进行初始化。
[0223] 所述处理器还可以被配置为:
[0224] 接收退出所述应用的触发;
[0225] 通过所述主程序卸载已加载的插件;
[0226] 退出所述主程序。
[0227] -种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理 器执行时,使得移动终端能够执行一种加载插件的方法,所述方法包括:
[0228]接收打开应用的触发;
[0229] 调用所述应用并加载所述应用的主程序;
[0230] 通过所述应用的主程序加载所述应用的基础插件。
[0231 ]所述存储介质中的指令还可以包括:
[0232]接收命令;
[0233] 判断接收的所述命令对应的插件是否已加载;
[0234] 在接收的所述命令对应的插件未加载时,通过所述应用的主程序加载接收的所述 命令对应的插件。
[0235] 所述存储介质中的指令还可以包括:
[0236] 所述命令包括:用户触发的指令或网络侧发送的消息。
[0237] 所述存储介质中的指令还可以包括:
[0238] 根据所述命令中的插件的标识,确定所述命令对应的插件;
[0239] 根据预先建立的命令标识与插件标识的对应关系,确定接收的所述命令对应的插 件。
[0240] 所述存储介质中的指令还可以包括:
[0241] 在主程序中查询插件标识与插件的映射关系表,确定所述命令对应的插件标识所 对应的插件;
[0242] 将命令中的命令参数传递给确定的所述插件。
[0243 ]所述存储介质中的指令还可以包括:
[0244] 通过所述应用的主程序加载插件,包括:
[0245] 通过所述应用的主程序将插件加载到内存;
[0246] 调用所述插件的初始化函数接口,对所述插件进行初始化。
[0247] 所述存储介质中的指令还可以包括:
[0248] 接收退出所述应用的触发;
[0249] 通过所述主程序卸载已加载的插件;
[0250] 退出所述主程序。
[0251] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其 它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或 者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识 或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的 权利要求指出。
[0252]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并 且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
【主权项】
1. 一种加载插件的方法,其特征在于,包括: 接收打开应用的触发; 调用所述应用并加载所述应用的主程序; 通过所述应用的主程序加载所述应用的基础插件。2. 根据权利要求1所述的加载插件的方法,其特征在于,所述方法还包括: 接收命令; 判断接收的所述命令对应的插件是否已加载; 在接收的所述命令对应的插件未加载时,通过所述应用的主程序加载接收的所述命令 对应的插件。3. 根据权利要求2所述的加载插件的方法,其特征在于,所述命令包括:用户触发的指 令或网络侧发送的消息。4. 根据权利要求2所述的加载插件的方法,其特征在于,所述命令包括:对应的插件的 标识;所述方法还包括:根据所述命令中的插件的标识,确定所述命令对应的插件;或者 根据预先建立的命令标识与插件标识的对应关系,确定接收的所述命令对应的插件。5. 根据权利要求4所述的加载插件的方法,其特征在于,在通过所述应用的主程序加载 接收的所述命令对应的插件之前,所述方法还包括: 在主程序中查询插件标识与插件的映射关系表,确定所述命令对应的插件标识所对应 的插件; 将命令中的命令参数传递给确定的所述插件。6. 根据权利要求1或2所述的加载插件的方法,其特征在于,通过所述应用的主程序加 载插件,包括: 通过所述应用的主程序将插件加载到内存; 调用所述插件的初始化函数接口,对所述插件进行初始化。7. 根据权利要求1所述的加载插件的方法,其特征在于,所述方法还包括: 接收退出所述应用的触发; 通过所述主程序卸载已加载的插件; 退出所述主程序。8. -种加载插件的装置,其特征在于,包括: 第一接收模块,用于接收打开应用的触发; 调用模块,用于调用所述应用并加载所述应用的主程序; 第一加载模块,用于通过所述应用的主程序加载所述应用的基础插件。9. 根据权利要求1所述的加载插件的装置,其特征在于,所述装置还包括: 第二接收模块,用于接收命令; 判断模块,用于判断接收的所述命令对应的插件是否已加载; 第二加载模块,用于在接收的所述命令对应的插件未加载时,通过所述应用的主程序 加载接收的所述命令对应的插件。10. 根据权利要求9所述的加载插件的装置,其特征在于,所述装置还包括: 第一确定模块,用于当所述命令包括对应的插件的标识时,根据所述命令中的插件的 标识,确定所述命令对应的插件;或者 第二确定模块,用于根据预先建立的命令标识与插件标识的对应关系,确定接收的所 述命令对应的插件。11. 根据权利要求10所述的加载插件的装置,其特征在于,所述装置还包括: 第三确定模块,用于在所述第二加载模块通过所述应用的主程序加载接收的所述命令 对应的插件之前,在主程序中查询插件标识与插件的映射关系表,确定所述命令对应的插 件标识所对应的插件; 传递模块,用于将命令中的命令参数传递给确定的所述插件。12. 根据权利要求8或9所述的加载插件的装置,其特征在于,所述第一加载模块和/或 第二加载模块,包括: 加载子模块,用于通过所述应用的主程序将插件加载到内存; 初始化子模块,用于调用所述插件的初始化函数接口,对所述插件进行初始化。13. 根据权利要求8所述的加载插件的装置,其特征在于,所述装置还包括: 第三接收模块,用于接收退出所述应用的触发; 卸载模块,用于通过所述主程序卸载已加载的插件; 退出模块,用于退出所述主程序。14. 一种加载插件的装置,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 接收打开应用的触发; 调用所述应用并加载所述应用的主程序; 通过所述应用的主程序加载所述应用的基础插件。
【专利摘要】本公开是关于一种加载插件的方法及装置,用于实现快速启动应用,减少系统负荷。所述方法包括:接收打开应用的触发;调用所述应用并加载所述应用的主程序;通过所述应用的主程序加载所述应用的基础插件。采用本公开所提供的方法,在打开应用时,只加载应用的主程序和基础插件,从而,不需要加载应用的全部功能模块,实现了快速启动应用,减少了系统负荷。
【IPC分类】G06F9/445
【公开号】CN105487886
【申请号】CN201510823643
【发明人】陈现麟, 朱鹏飞, 郑志光
【申请人】小米科技有限责任公司
【公开日】2016年4月13日
【申请日】2015年11月24日

最新回复(0)