本发明实施例涉及终端应用软件技术领域,尤其涉及一种ODEX优化方法及系统。
背景技术:
ODEX文件是从安卓操作系统上的应用程序APK(Android Package,Android安装包)中提取出来的可运行文件,是通过安卓安装包中的dex文件优化得到的。从安卓安装包中的dex文件优化得到ODEX文件的过程称为ODEX优化。为了提高终端的开机速度,一些终端采用了在后台进行ODEX优化的方式,在终端开机后立刻在后台进行ODEX优化。
但是,开机时需要加载很多应用,在后台进行ODEX优化需要占用大量的CPU(Central Processing Unit,中央处理器)资源,且优化需要的时间相对较长,会导致开机之后终端的CPU区域发热十分严重,并且,如果用户在优化期间使用终端还可能会出现卡顿的情况,影响用户使用。
技术实现要素:
本发明实施例提供了一种ODEX文件的优化方法及系统,改善开机发热问题,减少对用户正常使用的影响,提升用户体验。
第一方面,本发明实施例提供了一种ODEX优化方法,该方法包括:
分析用户使用习惯,得到空闲的可优化ODEX时间段;
接收到ODEX优化请求;
确定终端状态符合优化条件;
在可优化ODEX时间段内进行ODEX优化。
进一步地,分析用户使用习惯,得到空闲的可优化ODEX时间段,包括:
统计用户使用记录,分析出用户每天灭屏时间大于等于预置时长的时间段,把该时间段作为空闲的可优化ODEX时间段。
示例性地,确定终端状态符合优化条件,包括:
终端处于灭屏状态,且处于充电状态、剩余电量大于等于第一预置电量;或
终端处于灭屏状态,且处于非充电状态、剩余电量大于等于第二预置电量。
优选的,在可优化ODEX时间段内进行ODEX优化,包括:
确定当前时间在可优化ODEX时间段内;
确定当前时间至该可优化ODEX时间段的结束时间的时间长度大于等于预置优化时长;
进行ODEX优化。
进一步地,在可优化ODEX时间段内进行ODEX优化,包括:
判断当前时间是否在可优化ODEX时间段内,若否,在当前时间的前一个可优化ODEX时间段内进行ODEX优化;
若是,判断当前时间至该可优化ODEX时间段的结束时间的时间长度是否大于等于预置优化时长,若是,在该可优化ODEX时间段内进行ODEX优化,否则,在该可优化ODEX时间段的前一个可优化ODEX时间段内进行ODEX优化。
进一步地,在可优化ODEX时间段内进行ODEX优化之后,所述方法还包括:
确定手机处于亮屏状态;
判断ODEX的当前优化应用是否完成,若是,暂停ODEX优化;否则,继续优化当前优化应用直到完成,暂停ODEX优化。
进一步地,暂停ODEX优化之后,所述方法还包括:
重新确定终端状态符合优化条件;
在可优化ODEX时间段内对未优化应用继续进行ODEX优化。
第二方面,本发明实施例还提供了一种ODEX优化系统,该系统包括:
分析模块,用于分析用户使用习惯,得到空闲的可优化ODEX时间段;
接收模块,用于接收到ODEX优化请求;
确定模块,用于确定终端状态符合优化条件;
优化模块,用于在可优化ODEX时间段内进行ODEX优化。
进一步地,分析模块具体用于:
统计用户使用记录,分析出用户每天灭屏时间大于等于预置时长的时间段,把该时间段作为空闲的可优化ODEX时间段。
示例性地,确定模块具体用于:
确定终端处于灭屏状态,且处于充电状态、剩余电量大于等于第一预置电量;或
确定终端处于灭屏状态,且处于非充电状态、剩余电量大于等于第二预置电量。
优选的,优化模块包括:
第一确定单元,用于确定当前时间在可优化ODEX时间段内;
第二确定单元,用于确定当前时间至该可优化ODEX时间段的结束时间的时间长度大于等于预置优化时长;
优化单元,用于进行ODEX优化。
进一步地,优化模块包括:
第一判断单元,用于判断当前时间是否在可优化ODEX时间段内,若否,在当前时间的前一个可优化ODEX时间段内进行ODEX优化;
第二判断单元,用于若是,判断当前时间至该可优化ODEX时间段的结束时间的时间长度是否大于等于预置优化时长,若是,在该可优化ODEX时间段内进行ODEX优化,否则,在该可优化ODEX时间段的前一个可优化ODEX时间段内进行ODEX优化。
进一步地,所述系统还包括:
亮屏状态确定模块,用于在可优化ODEX时间段内进行ODEX优化之后,确定手机处于亮屏状态;
判断模块,用于判断ODEX的当前优化应用是否完成,若是,暂停ODEX优化;否则,继续优化当前优化应用直到完成,暂停ODEX优化。
进一步地,所述系统还包括:
重新确定模块,用于在暂停ODEX优化之后,重新确定终端状态符合优化条件;
继续优化模块,用于在可优化ODEX时间段内对未优化应用继续进行ODEX优化。
本发明实施例提供的一种ODEX优化方法,采用通过分析用户使用习惯,得到空闲的可优化ODEX时间段;在接收到ODEX优化请求之后,确定终端状态符合优化条件;并在可优化ODEX时间段内进行ODEX优化的技术方案,本技术方案不是在开机时、而是在空闲时进行优化,空闲的可优化ODEX时间段是由用户使用习惯分析得出,能够改善开机发热问题,减少对用户正常使用的影响,提升用户体验。
附图说明
图1是本发明实施例一提供的一种ODEX优化方法流程示意图;
图2是本发明实施例二提供的一种ODEX优化方法流程示意图;
图3是本发明实施例二提供的一种ODEX优化方法流程示意图;
图4是本发明实施例三提供的一种ODEX优化方法流程示意图;
图5是本发明实施例四提供的一种ODEX优化系统结构示意图;
图6是本发明实施例五提供的一种ODEX优化系统结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各项步骤的顺序可以被重新安排。当其步骤完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种ODEX优化方法流程图,该方法可适用于终端恢复出厂设置或者OTA(Over-the-Air Technology,空中下载技术)的时候需要进行ODEX优化的情况,可以由ODEX优化系统来执行,该系统可通过硬件和/或软件的方式实现,可集成到终端中,典型地,所述终端可以是手机。该方法具体包括如下步骤:
步骤110、分析用户使用习惯,得到空闲的可优化ODEX时间段。
因为进行ODEX优化需要占用大量的CPU资源,如果用户在优化期间使用终端,难免会出现卡顿的情况,为了保证用户正常使用,系统将会限制ODEX优化占用的CPU资源上限,这就会导致优化时长更长,从而造成不好的用户体验。因此,为了解决上述存在的问题,可以通过分析用户使用习惯,得到空闲的可优化ODEX时间段,其中,空闲的可优化ODEX时间段可以是指终端处于待机状态的时间段,此时间段内用户没有对终端进行任何操作,也就不会存在用户操作与ODEX优化争夺CPU资源的问题,因此如果在此时间段内进行ODEX优化,用户根本感知不到,也就不会让用户有感觉终端发热、卡顿的不良体验。
示例性地,分析用户使用习惯,得到空闲的可优化ODEX时间段,可以包括:
统计用户使用记录,分析出用户每天灭屏时间大于等于预置时长的时间段,把该时间段作为空闲的可优化ODEX时间段。
例如所述预置时长可以是30分钟,统计用户每天灭屏时间大于30分钟的时间段,随着用户使用终端的时间越长,会形成一个越来越精确的用户使用终端灭屏时间大于30分钟的时间段分布数据。将这些分布数据确定为空闲的可优化ODEX时间段,例如上午9:00-11:00,下午3:00-4:30,晚上11:00-凌晨6:00等。不同的用户有不同的使用习惯,因此通过分析用户使用习惯,可以得到个性化的空闲的可优化ODEX时间段。
步骤120、接收到ODEX优化请求。
其中,所述ODEX优化请求具体可以是在终端恢复出厂设置的时候发出的优化请求,或者在终端OTA的时候发出的优化请求。
步骤130、确定终端状态符合优化条件。
其中,所述终端状态可以包括:灭屏、亮屏、剩余电量、处于充电状态或者处于非充电状态,其中,灭屏状态即认为用户当前没有对终端进行任何操作的状态,亮屏状态即认为用户当前对终端有操作的状态。
示例性地,所述优化条件具体可以是终端处于灭屏状态,且处于充电状态、剩余电量大于等于第一预置电量;或
终端处于灭屏状态,且处于非充电状态、剩余电量大于等于第二预置电量。
其中,第一预置电量可以设置为15%,第二预置电量可以设置为80%。
需要说明的是,因为ODEX优化需要一定的时间,在ODEX优化期间必然是需要耗电的,所以将终端的剩余电量作为优化条件之一。
步骤140、在可优化ODEX时间段内进行ODEX优化。
当确定终端状态符合优化条件后,进一步判断当前时间段是否在可优化ODEX时间段内,若是则进行ODEX优化。其中,所述可优化ODEX时间段已经在步骤110中通过分析用户使用习惯得到。
本实施例提供的一种ODEX优化方法,采用通过分析用户使用习惯,得到空闲的可优化ODEX时间段;在接收到ODEX优化请求之后,确定终端状态符合优化条件;并在可优化ODEX时间段内进行ODEX优化的技术方案,本技术方案不是在开机时、而是在空闲时进行优化,空闲的可优化ODEX时间段是由用户使用习惯分析得出,能够改善开机发热问题,减少对用户正常使用的影响,提升用户体验。
实施例二
图2为本发明实施例二提供的一种ODEX优化方法流程示意图,在实施例一的基础上,本实施例对“在可优化ODEX时间段内进行ODEX优化”的操作进行了优化,优化的好处是确保可优化ODEX时间段满足完成ODEX优化所需的时长,具体参见图2所示,该方法具体如下:
步骤210、分析用户使用习惯,得到空闲的可优化ODEX时间段。
步骤220、接收到ODEX优化请求。
步骤230、确定终端状态符合优化条件。
步骤240、确定当前时间在可优化ODEX时间段内。
步骤250、确定当前时间至该可优化ODEX时间段的结束时间的时间长度大于等于预置优化时长。
其中,所述预置优化时长是指完成ODEX优化所需要的时间,典型的,例如所述预置优化时长可以设置为15分钟。假如,当前时间是上午10:00,在可优化ODEX时间段上午9:00-11:00内,且当前时间(上午10:00)至该可优化ODEX时间段(上午9:00-11:00)的结束时间(11:00)的时间长度(1个小时)大于等于预置优化时长(15分钟),则执行步骤260。
步骤260、进行ODEX优化。
对“在可优化ODEX时间段内进行ODEX优化”的操作进行另一种优化的方法具体可以参见图3所示的ODEX优化方法流程示意图:
步骤310、分析用户使用习惯,得到空闲的可优化ODEX时间段。
步骤320、接收到ODEX优化请求。
步骤330、确定终端状态符合优化条件。
步骤340、判断当前时间是否在可优化ODEX时间段内,若否,执行步骤370,若是,执行步骤350。
步骤350、判断当前时间至该可优化ODEX时间段的结束时间的时间长度是否大于等于预置优化时长,若是,执行步骤360,否则执行步骤370。
例如,可优化ODEX时间段为上午9:00-11:00,下午3:00-4:30,晚上11:00-凌晨6:00。预置优化时长为15分钟,当前时间为下午4:20,虽然在可优化ODEX时间段内,但是当前时间至该可优化ODEX时间段的结束时间(4:30)的时间长度是10分钟,不满足大于等于预置优化时长(15分钟)的条件,因此需要在当前时间的前一个可优化ODEX时间段内进行ODEX优化,即晚上11:00-凌晨6:00这个可优化时间段内进行优化,同样在优化之前仍然需要重新确定终端状态是否符合优化条件,只有在终端状态符合优化条件的前提下才进行优化。
步骤360、在该可优化ODEX时间段内进行ODEX优化。
步骤370、在当前时间的前一个可优化ODEX时间段内进行ODEX优化。
例如,可优化ODEX时间段为上午9:00-11:00,下午3:00-4:30,晚上11:00-凌晨6:00。当前时间为下午2:00,不在可优化ODEX时间段内,则在当前时间的前一个可优化ODEX时间段内进行ODEX优化,即下午3:00-4:30这个可优化的时间段内进行ODEX优化。需要说明的是,在判断当前时间是否在可优化ODEX时间段内之前,需要周期性地确定终端状态是否符合优化条件,只有在终端状态符合优化条件的前提下才判断当前时间是否在可优化ODEX时间段内,并进行下一步相关操作。
本实施例提供的一种ODEX优化方法,当确定终端状态符合优化条件且确定当前时间在可优化ODEX时间段内时,通过进一步确定当前时间至该可优化ODEX时间段的结束时间的时间长度是否大于等于预置优化时长,若是则进行ODEX优化,确保了可优化ODEX时间段满足完成ODEX优化所需的时长,保证了ODEX优化的顺利完成;当确定终端状态符合优化条件时,通过判断当前时间是否在可优化ODEX时间段内,若否,则在当前时间的前一个可优化ODEX时间段内进行ODEX优化的技术手段,确保了ODEX优化的顺利进行;若是,通过进一步判断当前时间至该可优化ODEX时间段的结束时间的时间长度是否大于等于预置优化时长的技术手段,确保了可优化ODEX时间段满足完成ODEX优化所需的时长,保证了ODEX优化的顺利完成。
实施例三
图4为本发明实施例三提供的一种ODEX优化方法流程示意图,在上述各实施例的基础上,本实施例进行了进一步优化,本实施例适用于在进行ODEX优化的期间,用户使用终端的情况,给出了发生优化冲突的时候的解决方案,这样优化的好处是有效解决了ODEX优化给用户带来使用终端体验不好的问题。具体参见图4所示,该方法具体如下:
步骤410、分析用户使用习惯,得到空闲的可优化ODEX时间段。
步骤420、接收到ODEX优化请求。
步骤430、确定终端状态符合优化条件。
步骤440、在可优化ODEX时间段内进行ODEX优化。
步骤450、确定手机处于亮屏状态。
其中,确定手机处于亮屏状态,即认为在进行ODEX优化的过程中用户突然使用终端进行一些操作。由于进行ODEX优化需要占用大量的CPU资源,如果此时用户需要使用终端进行一些操作,用户有可能会感觉终端有卡顿的现象,或者终端发热十分严重的现象,如果此时不暂停ODEX优化,所述现象会更加严重,因此,为了不让ODEX优化影响用户使用终端,需要继续步骤460的操作。
步骤460、判断ODEX的当前优化应用是否完成,若是,执行步骤470,否则,执行步骤480。
步骤470、暂停ODEX优化。
暂停ODEX优化之后,在终端符合优化条件的下一个可优化ODEX时间段内继续进行剩余的ODEX优化,
步骤480、继续优化当前优化应用直到完成,暂停ODEX优化。
如果,用户点亮终端屏幕时,正在优化某个应用,那么当屏幕点亮时设置该应用图标显示为正在优化状态,并不可点击使用,该应用优化结束时,该应用图标状态恢复正常,并且暂停ODEX优化,如还有需要优化的应用的,等待下一个合适的时间段继续优化。
进一步地,在暂停ODEX优化之后,所述方法还可以包括:
步骤490、重新确定终端状态符合优化条件。
步骤400、在可优化ODEX时间段内对未优化应用继续进行ODEX优化。
本实施例提供的一种ODEX优化方法,当在可优化ODEX时间段内进行ODEX优化之后,确定手机处于亮屏状态,则判断ODEX的当前优化应用是否完成,若是,暂停ODEX优化;否则,继续优化当前优化应用直到完成,暂停ODEX优化,并且暂停ODEX优化之后,重新确定终端状态符合优化条件,在可优化ODEX时间段内对未优化应用继续进行ODEX优化。有效解决了优化冲突的问题,提升了用户的操作体验。
实施例四
图5为本发明实施例四提供的一种ODEX优化系统的结构框图,具体参见图5所示,该系统具体包括如下:
分析模块510、接收模块520、确定模块530和优化模块540;
其中,分析模块510,用于分析用户使用习惯,得到空闲的可优化ODEX时间段;接收模块520,用于接收到ODEX优化请求;确定模块530,用于确定终端状态符合优化条件;优化模块540,用于在可优化ODEX时间段内进行ODEX优化。
进一步地,分析模块510具体可以用于:
统计用户使用记录,分析出用户每天灭屏时间大于等于预置时长的时间段,把该时间段作为空闲的可优化ODEX时间段。
进一步地,确定模块530具体可以用于:
确定终端处于灭屏状态,且处于充电状态、剩余电量大于等于第一预置电量;或
确定终端处于灭屏状态,且处于非充电状态、剩余电量大于等于第二预置电量。
进一步地,优化模块540可以包括:
第一确定单元,用于确定当前时间在可优化ODEX时间段内;
第二确定单元,用于确定当前时间至该可优化ODEX时间段的结束时间的时间长度大于等于预置优化时长;
优化单元,用于进行ODEX优化。
进一步地,优化模块540可以包括:
第一判断单元,用于判断当前时间是否在可优化ODEX时间段内,若否,在当前时间的前一个可优化ODEX时间段内进行ODEX优化;
第二判断单元,用于若是,判断当前时间至该可优化ODEX时间段的结束时间的时间长度是否大于等于预置优化时长,若是,在该可优化ODEX时间段内进行ODEX优化,否则,在该可优化ODEX时间段的前一个可优化ODEX时间段内进行ODEX优化。
本实施例提供的一种ODEX优化系统,采用通过分析用户使用习惯,得到空闲的可优化ODEX时间段;在接收到ODEX优化请求之后,确定终端状态符合优化条件;并在可优化ODEX时间段内进行ODEX优化的技术方案,本技术方案不是在开机时、而是在空闲时进行优化,空闲的可优化ODEX时间段是由用户使用习惯分析得出,能够改善开机发热问题,减少对用户正常使用的影响,提升用户体验。
实施例五
图6为本发明实施例五提供的一种ODEX优化系统的结构框图,在实施例四的基础上,本实施例提供的一种ODEX优化系统增加了亮屏状态确定模块550和判断模块560,具体参见图6所示,该系统具体包括如下:
分析模块510、接收模块520、确定模块530、优化模块540、亮屏状态确定模块550和判断模块560;
其中,分析模块510,用于分析用户使用习惯,得到空闲的可优化ODEX时间段;接收模块520,用于接收到ODEX优化请求;确定模块530,用于确定终端状态符合优化条件;优化模块540,用于在可优化ODEX时间段内进行ODEX优化;亮屏状态确定模块550,用于在可优化ODEX时间段内进行ODEX优化之后,确定手机处于亮屏状态;判断模块560,用于判断ODEX的当前优化应用是否完成,若是,暂停ODEX优化;否则,继续优化当前优化应用直到完成,暂停ODEX优化。
进一步地,所述系统还可以包括:
重新确定模块,用于在暂停ODEX优化之后,重新确定终端状态符合优化条件;
继续优化模块,用于在可优化ODEX时间段内对未优化应用继续进行ODEX优化。
本实施例提供的一种ODEX优化系统,当在可优化ODEX时间段内进行ODEX优化之后,确定手机处于亮屏状态,则判断ODEX的当前优化应用是否完成,若是,暂停ODEX优化;否则,继续优化当前优化应用直到完成,暂停ODEX优化,并且暂停ODEX优化之后,重新确定终端状态符合优化条件,在可优化ODEX时间段内对未优化应用继续进行ODEX优化。有效解决了优化冲突的问题,提升了用户的操作体验。
上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的方法。
本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。