发明内容
本发明的目的在于提供一种OTA开机加速方法及系统,本发明减少了OTA开机的等待时间,提高了用户体验。
为达此目的,本发明采用以下技术方案:
一方面,本发明提供一种OTA开机加速方法,包括:
在OTA升级Android系统后,启动所述Android系统;
启动预置的核心应用的更新任务线程,以更新所述核心应用;
启动桌面应用;
在后台启动预置的非核心应用的更新任务线程,以更新所述非核心应用。
其中,所述核心应用包括Android系统自带的系统应用;所述非核心应用包括用户下载安装的第三方应用。
其中,所述启动桌面应用之后,还包括:
接收到应用的用户启动指令;
判断所述应用是否已更新,若是,则以机器码执行该应用;
若否,判断所述应用是否正在更新,若是,则提示用户该应用正在更新,若否,则以字节码执行该应用。
其中,所述启动预置的核心应用的更新任务线程,以更新所述核心应用,包括:
启动预置的核心应用的更新任务线程,以更新所述核心应用的Apk文件对应的odex文件。
其中,所述在后台启动预置的非核心应用的更新任务线程,以更新所述非核心应用,包括:
在后台启动预置的非核心应用的更新任务线程,以更新所述非核心应用的Apk文件对应的odex文件。
另一方面,本发明提供一种OTA开机加速系统,包括:
系统启动模块,用于在OTA升级Android系统后,启动所述Android系统;
第一更新模块,用于启动预置的核心应用的更新任务线程,以更新所述核心应用;
桌面启动模块,用于启动桌面应用;
第二更新模块,用于在后台启动预置的非核心应用的更新任务线程,以更新所述非核心应用。
其中,所述核心应用包括Android系统自带的系统应用;所述非核心应用包括用户下载安装的第三方应用。
上述系统还包括:
指令接收模块,用于在所述启动桌面应用之后,接收到应用的用户启动指令;
第一判断模块,用于判断所述应用是否已更新,若是,则以机器码执行该应用;
第二判断模块,用于在第一判断模块判断所述应用没有更新时,判断所述应用是否正在更新,若是,则提示用户该应用正在更新,若否,则以字节码执行该应用。
其中,所述第一更新模块,具体用于:
启动预置的核心应用的更新任务线程,以更新所述核心应用的Apk文件对应的odex文件。
其中,所述第二更新模块,具体用于:
在后台启动预置的非核心应用的更新任务线程,以更新所述非核心应用的Apk文件对应的odex文件。
本发明的有益效果为:一种OTA开机加速方法及系统,该方法包括在OTA升级Android系统后,启动所述Android系统;启动预置的核心应用的更新任务线程,以更新所述核心应用;启动桌面应用;在后台启动预置的非核心应用的更新任务线程,以更新所述非核心应用。本发明中,在OTA升级系统后用户不需要所有应用立即可用,故在开机时只更新核心应用,不阻塞桌面应用启动,在进入桌面之后,通过后台更新非核心应用,可实现OTA快速开机,不受用户安装应用数的影响,提升系统性能,减少开机时间,提高用户的使用体验。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
参照图1,其为本发明具体实施方式提供的一种OTA开机加速方法的第一实施例的方法流程图。
一种OTA开机加速方法,包括以下步骤:
S101,在OTA升级Android系统后,启动所述Android系统。
本实施例中,在OTA升级Android系统后,会重启系统,进行OTA开机。
S102,启动预置的核心应用的更新任务线程,以更新所述核心应用。
具体的,在OTA开机的过程中,更新核心应用,这里所述的核心应用包括系统自带的系统应用,如拨号盘、短信等系统应用。
S103,启动桌面应用。
具体的,启动桌面应用程序,使得系统中安装的应用的图标呈现在桌面上,并按照一定的方式排布。
S104,在后台启动预置的非核心应用的更新任务线程,以更新所述非核心应用。
本实施例中,在进入桌面系统之后,在后台运行非核心应用的更新线程,这里的非核心应用包括用户自行安装的第三方应用,包括今日头条、淘宝、携程旅行等应用。
本实施例提供了一种OTA开机加速方法,在OTA升级系统后用户不需要所有应用立即可用,故在开机时只更新核心应用,不阻塞桌面应用启动,在进入桌面之后,通过后台更新非核心应用,可实现OTA快速开机,不受用户安装应用数的影响,提升系统性能,减少开机时间,提高了用户的使用体验。
参照图2,其为本发明具体实施方式提供的一种OTA开机加速方法的第二实施例的方法流程图,本实施例在上述方法的第一实施例的基础上增加了几个步骤。
一种OTA开机加速方法,包括以下步骤:
S201,在OTA升级Android系统后,启动所述Android系统。
S202,启动预置的核心应用的更新任务线程,以更新所述核心应用的apk文件对应的odex文件。
S203,启动桌面应用。
具体的,启动桌面应用程序,使得系统中安装的应用的图标呈现在桌面上,并按照一定的方式排布。
S204,在后台启动预置的非核心应用的更新任务线程,以更新所述非核心应用的apk文件对应的odex文件。
本实施例中,所述核心应用包括Android系统自带的系统应用;所述非核心应用包括用户下载安装的第三方应用。
其中,odex文件是Android系统的应用程序apk中提取出来的可运行文件,即将apk中的classes.dex文件通过dex优化过程将其优化生成一个odex文件单独存放,原apk中的classes.dex文件会保留。这样做可以加快软件的启动速度,预先提取,减少对RAM的占用,因为没有odex的话,系统要从apk包中提取dex再运行。在Android系统进行OTA升级之后,所有应用程序对应的odex文件也要进行更新。
S205,接收到应用的用户启动指令。
S206,判断所述应用是否已更新。
S207,若所述应用已更新,则以机器码执行该应用。
S208,若所述应用没有更新,判断所述应用是否正在更新。
S209,若所述应用正在更新,则提示用户该应用正在更新。
S210,若所述应用没有在更新,则以字节码执行该应用。
具体的,当用户在桌面上点击应用程序对应的桌面图标,以启用该应用程序时,系统会自动判断用户想要启动的应用是否已经完成更新,即其apk文件对应的odex文件是否已经完成更新,如果该应用已经完成更新,则可以正常以机器码执行该应用,具体为通过odex文件来运行该应用。
如果该应用还没有完成更新,则进一步的判断系统是否正在进行该应用的更新任务线程,如果是正在更新,则提示用户该应用正在更新中,可稍后再启动该应用,可以弹屏的方式来提醒用户,也可以向用户显示该应用更新的进度条;如果该应用还没有开始更新,则以字节码执行该应用,具体为从apk文件中提取dex文件,再运行该应用。
本实施例提供一种OTA开机加速方法,该方法在OTA升级系统后,在开机时只更新核心应用,不阻塞桌面应用启动,在进入桌面之后,通过后台更新非核心应用,可实现OTA快速开机,在用户进入桌面选择要启动的应用时,系统自动判断该应用是否已更新,若已更新,则以机器码运行该应用;若还没有完成更新,则检测判断该应用是否正在更新,提醒用户正在更新的应用,而还没有进行更新的应用则以字节码的形式运行。该方法因为在OTA开机时只更新核心应用,故不受用户安装应用数的影响,能实现快速开机,且在开机后后台处理非核心应用的更新线程,在提升系统性能的同时提高了用户的使用体验。
以下为本技术方案提供的OTA开机加速系统的实施例,该系统的实施例基于OTA开机加速方法的实施例来实现,在该系统的实施例中未详细描述的内容请参考上述方法的实施例。
参照图3,其为本发明具体实施方式提供的一种OTA开机加速系统的第一实施例的结构方框图。
一种OTA开机加速系统,包括:
系统启动模块310,用于在OTA升级Android系统后,启动所述Android系统。
第一更新模块320,用于启动预置的核心应用的更新任务线程,以更新所述核心应用。
桌面启动模块330,用于启动桌面应用。
第二更新模块340,用于在后台启动预置的非核心应用的更新任务线程,以更新所述非核心应用。
本实施例提供了一种OTA开机加速系统,以上各模块协同工作,在OTA升级系统后,通过系统启动模块310启动所述Android系统,进入开机系统,第一更新模块320更新核心应用后,桌面启动模块330启动桌面,使得系统中安装的应用图标显示在桌面上,在进入桌面之后,第二更新模块340通过后台更新非核心应用,可实现OTA快速开机,不受用户安装应用数的影响,提升系统性能,减少开机时间,提高了用户的使用体验。
参照图4,其为本发明具体实施方式提供的一种OTA开机加速系统的第二实施例的结构方框图,本实施例在上述系统的第一实施例的基础上增加了几个步骤。
一种OTA开机加速系统,包括:
系统启动模块410,用于在OTA升级Android系统后,启动所述Android系统。
第一更新模块420,用于启动预置的核心应用的更新任务线程,以更新所述核心应用的Apk文件对应的odex文件。
桌面启动模块430,用于启动桌面应用。
第二更新模块440,用于在后台启动预置的非核心应用的更新任务线程,以更新所述非核心应用的Apk文件对应的odex文件。
本实施例中,所述核心应用包括Android系统自带的系统应用;所述非核心应用包括用户下载安装的第三方应用。
指令接收模块450,用于在所述桌面启动模块430启动桌面应用之后,接收到应用的用户启动指令。
第一判断模块460,用于判断所述应用是否已更新,若是,则以机器码执行该应用。
第二判断模块470,用于在所述第一判断模块460判断所述应用没有更新时,判断所述应用是否正在更新,若是,则提示用户该应用正在更新,若否,则以字节码执行该应用。
具体的,当指令接收模块450检测到用户在桌面上点击应用程序对应的桌面图标时,第一判断模块460会自动判断用户想要启动的应用是否已经完成更新,即其apk文件对应的odex文件是否已经完成更新,如果该应用已经完成更新,则可以正常以机器码执行该应用,具体为通过odex文件来运行该应用。
如果该应用还没有完成更新,则进一步的通过第二判断模块470判断系统是否正在进行该应用的更新任务线程,如果是正在更新,则提示用户该应用正在更新中,可稍后再启动该应用,可以弹屏的方式来提醒用户,也可以向用户显示该应用更新的进度条;如果该应用还没有开始更新,则以字节码执行该应用,具体为从apk文件中提取dex文件,再运行该应用。
本实施例提供一种OTA开机加速系统,该系统中的各模块协同工作,在OTA升级系统后,在开机时只更新核心应用,不阻塞桌面应用启动,在进入桌面之后,通过后台更新非核心应用,可实现OTA快速开机,在用户进入桌面选择要启动的应用时,系统自动判断该应用是否已更新,若已更新,则以机器码运行该应用;若还没有完成更新,则检测判断该应用是否正在更新,提醒用户正在更新的应用,而还没有进行更新的应用则以字节码的形式运行。本技术方案因为在OTA开机时只更新核心应用,故不受用户安装应用数的影响,能实现快速开机,且在开机后后台处理非核心应用的更新线程,在提升系统性能的同时提高了用户的使用体验。
以上结合具体实施例描述了本发明的技术原理。这些描述只是为了解释本发明的原理,而不能以任何方式解释为对本发明保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。