应用程序的编译方法、装置及终端的制作方法

文档序号:10569726阅读:136来源:国知局
应用程序的编译方法、装置及终端的制作方法
【专利摘要】本公开提供一种应用程序的编译方法、装置及终端,所述方法应用于应用AOT编译器的操作系统,所述方法的一【具体实施方式】包括:在系统升级后的系统启动过程中,查找出系统应用程序;对所述系统应用程序进行编译;在所述启动完成后,查找出第三方应用程序;对所述第三方应用程序进行编译。该实施方式能够缩短系统升级后的系统启动过程所持续的时间,提高了终端的使用效率。
【专利说明】
应用程序的编译方法、装置及终端
技术领域
[0001]本公开涉及计算机软件技术领域,特别涉及一种应用程序的编译方法、装置及终端。
【背景技术】
[0002]随着技术的不断发展,智能终端越来越多的应用于人们的生活和工作中,主要应用于智能终端的安卓(An droid)系统也得到了快速的推广。安卓系统的快速更新使其功能日益完善。在Android 4.4之前,安卓系统一般采用JIT编译器(Just in Time,即时编译器)对应用程序进行编译,每次运行应用程序时,都要对程序进行动态的编译。因此,影响了运行速度。
[0003]在Android 4.4之后,安卓系统进行了新的改进,开始采用AOT编译器(Ahead ofTime,预先编译器)对应用程序进行编译。一般只在系统环境发生变化(如系统升级)后,对每个安装的应用程序进行一次编译,以后在应用程序运行时不需要再进行编译。因此,采用AOT编译器的操作系统,在运行速度方面较之前的操作系统得到了很大的改善。
[0004]但在相关技术中,一般在系统升级后的系统启动过程中,逐一对每个应用程序进行编译,所以系统升级后的系统启动过程持续时间过长,有时可能达到五到十分钟,影响了终端的使用效率。

【发明内容】

[0005]本公开提供一种应用程序的编译方法、装置及终端,以解决相关技术中终端的使用效率低的问题。
[0006]根据本公开实施例的第一方面,提供一种应用程序的编译方法,所述方法应用于应用预先编译器AOT的操作系统,包括:
[0007]在系统升级后的系统启动过程中,查找出系统应用程序;
[0008]对所述系统应用程序进行编译;
[0009]在所述启动完成后,查找出第三方应用程序;
[0010]对所述第三方应用程序进行编译。
[0011 ]可选的,所述对所述第三方应用程序进行编译,包括:
[0012]检测用户开启第三方应用程序的操作;
[0013]若检测到所述操作,判断用户开启的第三方应用程序是否已经过编译;
[0014]若尚未经过编译,对所述用户开启的第三方应用程序进行编译。
[0015]可选的,所述对所述第三方应用程序进行编译,还包括:
[0016]若未检测到所述操作,判断当前是否处于使用状态;
[0017]若当前未处于使用状态,逐一对尚未经过编译的第三方应用程序进行编译;
[0018]若当前处于使用状态,暂停对尚未经过编译的第三方应用程序进行编译。
[0019]可选的,所述方法还包括:
[0020]当所述启动完成时,通过桌面输出已经过编译的应用程序的标识以及尚未经过编译的应用程序的标识。
[0021]可选的,所述方法还包括:
[0022]在对所述第三方应用程序进行编译时,输出提示信息,所述提示信息用于提醒用户当前正在对应用程序进行编译。
[0023]根据本公开实施例的第二方面,提供一种应用程序的编译装置,所述装置应用于应用AOT编译器的操作系统,包括:
[0024]第一查找模块,被配置为在系统升级后的系统启动过程中,查找出系统应用程序;
[0025]第一编译模块,被配置为对所述第一查找模块查找出的系统应用程序进行编译;
[0026]第二查找模块,被配置为在所述启动完成后,查找出第三方应用程序;
[0027]第二编译模块,被配置为对所述第二查找模块查找出的第三方应用程序进行编译。
[0028]可选的,所述第二编译模块包括:
[0029]检测子模块,被配置为检测用户开启第三方应用程序的操作;
[0030]第一判断子模块,被配置为在所述检测子模块检测到所述操作时,判断用户开启的第三方应用程序是否已经过编译;
[0031]第一编译子模块,被配置为在所述第一判断子模块确定用户开启的第三方应用程序尚未经过编译时,对所述用户开启的第三方应用程序进行编译。
[0032]可选的,所述第二编译模块还包括:
[0033]第二判断子模块,被配置为若所述检测子模块未检测到所述操作,判断当前是否处于使用状态;
[0034]第二编译子模块,被配置为在所述第二判断子模块确定当前未处于使用状态时,逐一对尚未经过编译的第三方应用程序进行编译;
[0035]暂停子模块,被配置为在所述第二判断子模块确定当前处于使用状态时,暂停对尚未经过编译的第三方应用程序进行编译。
[0036]可选的,所述装置还包括:
[0037]第一输出模块,被配置为在所述启动完成时,通过桌面输出已经过编译的应用程序的标识以及尚未经过编译的应用程序的标识。
[0038]可选的,所述装置还包括:
[0039]第二输出模块,被配置为在所述第二编译模块对所述第三方应用程序进行编译时,输出提示信息,所述提示信息用于提醒用户当前正在对应用程序进行编译。
[0040]根据本公开实施例的第三方面,提供一种终端,所述终端应用于应用AOT编译器的操作系统,包括:
[0041]处理器;
[0042]用于存储处理器可执行指令的存储器;
[0043]其中,所述处理器被配置为:
[0044]在系统升级后的系统启动过程中,查找出系统应用程序;
[0045]对所述系统应用程序进行编译;
[0046]在所述启动完成后,查找出第三方应用程序;
[0047]对所述第三方应用程序进行编译。
[0048]本公开的实施例提供的技术方案可以包括以下有益效果:
[0049]本公开的上述实施例提供的应用程序的编译方法,在系统升级后的系统启动过程中,仅对系统自带的系统应用程序进行编译。在上述启动完成后,再对剩余的大量第三方应用程序进行编译。从而能够缩短上述启动过程所持续的时间,提高了终端的使用效率。
[0050]本公开的上述实施例提供的应用程序的编译方法,在系统升级后的系统启动过程中,仅对系统自带的系统应用程序进行编译。在上述启动完成后,优先编译用户需要开启的第三方应用程序,并且在终端处于非使用状态下,对剩余的未经编译的第三方应用程序逐一进行编译。在不影响终端运行速度的前提下,缩短了上述启动过程所持续的时间,进一步提高了终端的使用效率。
[0051]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
【附图说明】
[0052]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
[0053]图1是本公开根据一示例性实施例示出的一种应用程序的编译方法的流程图;
[0054]图2是本公开根据一示例性实施例示出的另一种应用程序的编译方法的流程图;
[0055]图3是本公开根据一示例性实施例示出的一种应用程序的编译装置的框图;
[0056]图4是本公开根据一示例性实施例示出的另一种应用程序的编译装置的框图;
[0057]图5是本公开根据一示例性实施例示出的另一种应用程序的编译装置的框图;
[0058]图6是本公开根据一示例性实施例示出的另一种应用程序的编译装置的框图;
[0059]图7是本公开根据一示例性实施例示出的另一种应用程序的编译装置的框图;
[0060]图8是本公开根据一示例性实施例示出的一种应用程序的编译装置的一结构示意图。
【具体实施方式】
[0061]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0062]在本公开使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本公开。在本公开和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0063]应当理解,尽管在本公开可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本公开范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0064]如图1所示,图1是根据一示例性实施例示出的一种应用程序的编译方法的流程图,该方法可以应用于终端中。在本实施例中,为了便于理解,结合能够安装应用程序的终端设备来举例说明。本领域技术人员可以理解,该终端设备可以包括但不限于诸如智能手机的移动终端设备、智能穿戴式设备、平板电脑、个人数字助理等等。该方法应用于应用AOT编译器的操作系统,包括以下步骤:
[0065]在步骤101中,在系统升级后的系统启动过程中,查找出系统应用程序。
[0066]在步骤102中,对系统应用程序进行编译。
[0067]在步骤103中,在上述启动完成后,查找出第三方应用程序。
[0068]在步骤104中,对第三方应用程序进行编译。
[0069]—般来说,在相关技术中,应用AOT编译器的操作系统,会在系统升级后的系统启动过程中,预先逐一对每个应用程序进行一次编译。使得升级后的系统重新启动的过程持续时间过长。在本实施例中,在系统升级后,由于系统环境发生变化,也需要对应用程序重新进行一次编译。但在系统升级后的系统启动过程中,不需要对所有的应用程序进行编译,仅对系统自带的应用程序进行编译。而剩余的大量第三方应用程序需要在上述启动完成后进行编译。
[0070]具体来说,在本实施例中,在系统升级后的系统启动过程中,首先查找出系统应用程序。然后,对上述系统应用程序进行编译。其中,系统应用程序为系统自带的应用程序,例如,信息应用程序,电话应用程序,相机应用程序,日历应用程序等。一般系统应用程序的使用频率较高,并且系统应用程序的数量较少,因此,在系统升级后的系统启动过程中,优先编译系统应用程序。
[0071]接着,在上述启动完成后,查找出第三方应用程序。然后,对上述第三方应用程序进行编译。其中,第三方应用程序为非系统自带的应用程序,例如,即时通信应用程序,游戏应用程序,新闻客户端,非系统自带的浏览器等。一般第三方应用程序的数量较多,如果,在系统升级后的系统启动过程中,也对第三方应用程序进行编译,则会导致上述启动过程持续时间较长,因此,在上述启动过程中,可以暂时不对第三方应用程序进行编译,以缩短上述启动过程所持续的时间。
[0072]本公开的上述实施例提供的应用程序的编译方法,在系统升级后的系统启动过程中,仅对系统自带的系统应用程序进行编译。在上述启动完成后,再对剩余的大量第三方应用程序进行编译。从而能够缩短上述启动过程所持续的时间,提高了终端的使用效率。
[0073]如图2所示,图2根据一示例性实施例示出的另一种应用程序的编译方法的流程图,该实施例详细描述了对第三方应用程序进行编译的过程,该方法可以应用于终端中,并应用于应用AOT编译器的操作系统,包括以下步骤:
[0074]在步骤201中,在系统升级后的系统启动过程中查找出系统应用程序。
[0075]在步骤202中,对系统应用程序进行编译。
[0076]在步骤203中,在上述启动完成后,查找出第三方应用程序。
[0077]在步骤204中,判断是否检测到用户开启第三方应用程序的操作。
[0078]在步骤205中,若检测到上述操作,判断用户开启的第三方应用程序是否已经过编译。
[0079]在步骤206中,若尚未经过编译,对用户开启的第三方应用程序进行编译。
[0080]在本实施例中,在上述启动完成后,用户就可以开启使用应用程序了。应用程序必须经过编译才能运行,但由于在系统启动刚刚完成时,第三方应用程序还没有被编译,需要优先编译用户需要开启的应用程序。因此,如果用户点击了尚未经过编译的应用程序,则要先编译用户点击的该应用程序。
[0081]具体来说,首先,检测用户开启第三方应用程序的操作。用户开启第三方应用程序的操作为用户触发第三方应用程序运行的操作。例如,可以是直接通过桌面界面点击应用程序的标识(图标)的操作,也可以是通过预定的快捷方式开启应用程序的操作,还可以是通过其它应用程序触发开启某个应用程序(如,当通过微信转发某新闻客户端的消息时,要通过该新闻客户端触发开启微信应用程序等)的操作。
[0082]接着,在检测到用户开启第三方应用程序的操作时,判断用户开启的第三方应用程序是否已经过编译。如果该应用程序已经过编译,则不需要再次对其进行编译。如果该应用程序尚未经过编译,则要优先对其进行编译,以便在编译后开启该应用程序。
[0083]在步骤207中,若未检测到上述操作,判断当前是否处于使用状态。
[0084]在步骤208中,若当前未处于使用状态,逐一对尚未经过编译的第三方应用程序进行编译。
[0085]在本实施例中,在未检测到用户开启第三方应用程序的操作时,可以检测当前的状态。该状态可以包括使用状态和非使用状态两种,其中,使用状态为前台有应用程序运行的状态。非使用状态为前台无应用程序运行的状态,如,待机状态等。若当前未处于使用状态,则说明当前终端处于闲置状态,此时对终端并无运行速度的要求,因此可以利用终端闲置的阶段,逐一对尚未经过编译的第三方应用程序进行编译。
[0086]在步骤209中,若当前处于使用状态,暂停对尚未经过编译的第三方应用程序进行编译。
[0087]在本实施例中,如果在对尚未经过编译的第三方应用程序逐一进行编译的过程中,用户忽然要使用终端,使终端进入使用状态,为了保证运行速度,可以暂停对尚未经过编译的第三方应用程序进行编译。这样就提升了运行速度,当终端再次进入非使用状态时,继续逐一对尚未经过编译的第三方应用程序进行编译。
[0088]本公开的上述实施例提供的应用程序的编译方法,在系统升级后的系统启动过程中,仅对系统自带的系统应用程序进行编译。在上述启动完成后,优先编译用户需要开启的第三方应用程序,并且在终端处于非使用状态下,对剩余的未经编译的第三方应用程序逐一进行编译。在不影响终端运行速度的前提下,缩短了上述启动过程所持续的时间,进一步提高了终端的使用效率。
[0089]需要说明的是,对于与图1实施例中相同的步骤,在上述图2实施例中不再进行赘述,相关内容可参见图1实施例。
[0090]在一些可选实施方式中,上述方法还包括:当上述启动完成时,通过桌面输出已经过编译的应用程序的标识以及尚未经过编译的应用程序的标识。
[0091]—般来说,在相关技术中,应用AOT编译器的操作系统,在完成对应用程序的编译前,不会显示尚未经过编译的应用程序的标识。在本实施例中,由于系统重新启动的过程中,并未对大量的第三方应用程序进行编译,因此,如果不显示尚未经过编译的应用程序的标识,会影响用户的使用。所以,当上述启动完成时,将已经过编译的应用程序的标识以及尚未经过编译的应用程序的标识均通过桌面显示出来。
[0092]在一些可选实施方式中,上述方法还包括:在对第三方应用程序进行编译时,输出提示信息,该提示信息用于提醒用户当前正在对应用程序进行编译。
[0093]—般来说,在对应用程序进行编译时,一方面会影响终端的运行速度,另一方面,也会增加耗电速度,因此,在本实施例中,在对第三方应用程序进行编译时,可以输出一个提示信息,该提示信息用于提醒用户当前正在对应用程序进行编译。
[0094]该提示信息具体可以为预设图案、音频信息、文本信息等,本实施例不做限定。例如,预设图案具体可以为一个具有预设形状的滑块,如圆形滑块、方形滑块等,该滑块的形状可以由设计者任意设定;音频信息具体可以为语音提示信息;文本信息如弹出文本提示框进彳T提不等。
[0095]应当注意,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0096]与前述应用程序的编译方法实施例相对应,本公开还提供了应用程序的编译装置及其所应用的终端的实施例。
[0097]如图3所示,图3是本公开根据一示例性实施例示出的一种应用程序的编译装置框图,该装置应用于应用AOT编译器的操作系统,包括:第一查找模块301,第一编译模块302,第二查找模块303和第二编译模块304。
[0098]其中,第一查找模块301,被配置为在系统升级后的系统启动过程中,查找出系统应用程序。
[0099]第一编译模块302,被配置为对第一查找模块301查找出的系统应用程序进行编译。
[0100]第二查找模块303,被配置为在上述启动完成后,查找出第三方应用程序。
[0101]第二编译模块304,被配置为对第二查找模块303查找出的第三方应用程序进行编译。
[0102]如图4所示,图4是本公开根据一示例性实施例示出的另一种应用程序的编译装置框图,该实施例在前述图3所示实施例的基础上,第二编译模块304可以包括:检测子模块401,第一判断子模块402和第一编译子模块403。
[0103]其中,检测子模块401,被配置为检测用户开启第三方应用程序的操作。
[0104]第一判断子模块402,被配置为在检测子模块401检测到上述操作时,判断用户开启的第三方应用程序是否已经过编译。
[0105]第一编译子模块403,被配置为在第一判断子模块402确定用户开启的第三方应用程序尚未经过编译时,对用户开启的第三方应用程序进行编译。
[0106]如图5所示,图5是本公开根据一示例性实施例示出的另一种应用程序的编译装置框图,该实施例在前述图4所示实施例的基础上,第二编译模块304还可以进一步包括:第二判断子模块404,第二编译子模块405和暂停子模块406。
[0107]其中,第二判断子模块404,被配置为若检测子模块401未检测到上述时操作,判断当前是否处于使用状态。
[0108]第二编译子模块405,被配置为在第二判断子模块404确定当前未处于使用状态时,逐一对尚未经过编译的第三方应用程序进行编译。
[0109]暂停子模块406,被配置为在第二判断子模块404确定当前处于使用状态时,暂停对尚未经过编译的第三方应用程序进行编译。
[0110]如图6所示,图6是本公开根据一示例性实施例示出的另一种应用程序的编译装置框图,该实施例在前述图3所示实施例的基础上,该装置还可以进一步包括:第一输出模块
305。其中,第一输出模块305,被配置为上述启动完成时,通过桌面输出已经过编译的应用程序的标识以及尚未经过编译的应用程序的标识。
[0111]如图7所示,图7是本公开根据一示例性实施例示出的另一种应用程序的编译装置框图,该实施例在前述图3所示实施例的基础上,该装置还可以进一步包括:第二输出模块
306。其中,第二输出模块306,被配置为在所述第二编译模块对所述第三方应用程序进行编译时,输出提示信息,所述提示信息用于提醒用户当前正在对应用程序进行编译。
[0112]应当理解,上述装置可以预先设置在终端中,也可以通过下载等方式而加载到终端中。上述装置中的相应单元可以与终端中的单元相互配合以实现切换内容的方案。
[0113]对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0114]相应的,本公开还提供一种终端,该终端应用于应用AOT编译器的操作系统,包括有处理器;用于存储处理器可执行指令的存储器;其中,该处理器被配置为:
[0115]在系统升级后的系统启动过程中,查找出系统应用程序;
[0116]对所述系统应用程序进行编译;
[0117]在所述启动完成后,查找出第三方应用程序;
[0118]对所述第三方应用程序进行编译。
[0119]图8是根据一示例性实施例示出的一种应用程序的编译装置800的一结构示意图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
[0120]参照图8,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口 812,传感器组件814,以及通信组件816。
[0121]处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
[0122]存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
[0123]电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
[0124]多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
[0125]音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
[0126]I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
[0127]传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800—个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或C⑶图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器,微波传感器或温度传感器。
[0128]通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
[0129]在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
[0130]在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是R0M、随机存取存储器(RAM)、CD-R0M、磁带、软盘和光数据存储设备等。
[0131]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0132]应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
【主权项】
1.一种应用程序的编译方法,其特征在于,所述方法应用于应用预先编译器AOT的操作系统,所述方法包括: 在系统升级后的系统启动过程中,查找出系统应用程序; 对所述系统应用程序进行编译; 在所述启动完成后,查找出第三方应用程序; 对所述第三方应用程序进行编译。2.根据权利要求1所述的方法,其特征在于,所述对所述第三方应用程序进行编译,包括: 检测用户开启第三方应用程序的操作; 若检测到所述操作,判断用户开启的第三方应用程序是否已经过编译; 若尚未经过编译,对所述用户开启的第三方应用程序进行编译。3.根据权利要求2所述的方法,其特征在于,所述对所述第三方应用程序进行编译,还包括: 若未检测到所述操作,判断当前是否处于使用状态; 若当前未处于使用状态,逐一对尚未经过编译的第三方应用程序进行编译; 若当前处于使用状态,暂停对尚未经过编译的第三方应用程序进行编译。4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 当所述启动完成时,通过桌面输出已经过编译的应用程序的标识以及尚未经过编译的应用程序的标识。5.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在对所述第三方应用程序进行编译时,输出提示信息,所述提示信息用于提醒用户当前正在对应用程序进行编译。6.—种应用程序的编译装置,其特征在于,所述装置应用于应用AOT编译器的操作系统,所述装置包括: 第一查找模块,被配置为在系统升级后的系统启动过程中,查找出系统应用程序; 第一编译模块,被配置为对所述第一查找模块查找出的系统应用程序进行编译; 第二查找模块,被配置为在所述启动完成后,查找出第三方应用程序; 第二编译模块,被配置为对所述第二查找模块查找出的第三方应用程序进行编译。7.根据权利要求6所述的装置,其特征在于,所述第二编译模块包括: 检测子模块,被配置为检测用户开启第三方应用程序的操作; 第一判断子模块,被配置为在所述检测子模块检测到所述操作时,判断用户开启的第三方应用程序是否已经过编译; 第一编译子模块,被配置为在所述第一判断子模块确定用户开启的第三方应用程序尚未经过编译时,对所述用户开启的第三方应用程序进行编译。8.根据权利要求7所述的装置,其特征在于,所述第二编译模块还包括: 第二判断子模块,被配置为若所述检测子模块未检测到所述操作,判断当前是否处于使用状态; 第二编译子模块,被配置为在所述第二判断子模块确定当前未处于使用状态时,逐一对尚未经过编译的第三方应用程序进行编译; 暂停子模块,被配置为在所述第二判断子模块确定当前处于使用状态时,暂停对尚未经过编译的第三方应用程序进行编译。9.根据权利要求6所述的装置,其特征在于,所述装置还包括: 第一输出模块,被配置为在所述启动完成时,通过桌面输出已经过编译的应用程序的标识以及尚未经过编译的应用程序的标识。10.根据权利要求6所述的装置,其特征在于,所述装置还包括: 第二输出模块,被配置为在所述第二编译模块对所述第三方应用程序进行编译时,输出提示信息,所述提示信息用于提醒用户当前正在对应用程序进行编译。11.一种终端,所述终端应用于应用AOT编译器的操作系统,其特征在于,包括: 处理器; 用于存储处理器可执行指令的存储器; 其中,所述处理器被配置为: 在系统升级后的系统启动过程中,查找出系统应用程序; 对所述系统应用程序进行编译; 在所述启动完成后,查找出第三方应用程序; 对所述第三方应用程序进行编译。
【文档编号】G06F9/44GK105930151SQ201610237391
【公开日】2016年9月7日
【申请日】2016年4月15日
【发明人】王智勇, 刘惠云, 乜聚科
【申请人】北京小米移动软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1