本发明属于计算机,具体为一种通过调整应用启动顺序缩短机顶盒开机时间的方法。
背景技术:
1、随着信息技术的发展,用户对用户体验的要求越来越高,不仅仅局限于有这个功能,还要求这个功能能够快速响应。然而因为硬件性能,软件质量等原因不同程度拖慢机顶盒开机启动速度。通过优化流程的方式将现有启动流程调整,调整繁重的优先启动项,完成系统服务快速初始化,优化系统启动速度。调整流程是优化系统开机时间的非常有效的方法。
2、随着现网机顶盒体量日益增大,通过提升设备硬件的方式提升机顶盒性能,从而实现开机时间优化的方式所需要的硬件成本已经达到一个天文数字,且更换设备会导致人力和物力的大量浪费。
技术实现思路
1、本发明的目的在于提供一种通过调整应用启动顺序缩短机顶盒开机时间的方法,以解决背景技术中提出的--问题。
2、为解决上述技术问题,本发明所采用的技术方案是:
3、一种通过调整应用启动顺序缩短机顶盒开机时间的方法,包括以下步骤:
4、步骤s1,启动电源以及启动系统;
5、步骤s2,启动引导程序;引导程序从soc芯片内部的rom固定位置将bootrom程序搬移到cpu执行,将soc芯片进行初始化;bootrom程序将bootloader代码载入内存并执行,用于初始化硬件设备以及加载下一级启动项;
6、步骤s3,引导程序拉起首应用;当系统启动时,通过引导程序去获取首应用预置的包名和类名,如果引导程序获取内容不为空,则优先拉起首应用预置的包名和类名,而不会去查询并拉起具备home属性的应用,从而加快加载速度,使得首应用在开机后以较快的速度启动;
7、步骤s4,主应用启动;首应用启动并成功展示应用页面后,系统化初始化完成;首应用程序调用startactivity()函数,通过binder跨进程通信,发送消息给system_server进程;
8、在system_server进程中,由ams通过socket通信告知zygote进程fork出主应用进程,拉起主应用完成;同时启动需要同步后台启动的服务进行后台初始化;
9、步骤s5,结束。
10、根据上述技术方案,步骤s1中,soc芯片的初始化包括:异常初始化、寄存器初始化和配置mmu和cache。
11、根据上述技术方案,步骤s2中,bootloader用于初始化硬件和加载操作系统内核,完成初始化配置最终将控制权交给操作系统。
12、根据上述技术方案,步骤s2中,首应用具体配置为:首应用包括系统级应用权限(android:shareduserid="android.uid.system")以及home属性(<categoryandroid:name="android.intent.category.home"/>),系统签名后放置到系统预制应用文件夹中,并预置首应用启动的包名与类名属性:sys.deflauncher.pkg与sys.deflauncher.cls。
13、根据上述技术方案,步骤s2中,引导程序执行完成之后,开始加载linuxkernel的核心代码,具体为:首先,创建linux中的init进程并执行;
14、init进程执行完成之后,孵化出zygote进程,zygote进程通过fork创建安卓framework系统服务进程system_server,system_server用于启动android系统核心服务,以满足系统和三方应用运行的条件。
15、根据上述技术方案,init解析init.rc脚本并执行/system/bin/app_proces程序,然后将进程重命名为zygote,完成zygote进程创建。
16、与现有技术相比,本发明具有以下有益效果:
17、通过本发明中的方法,通过调整启动顺序,确保系统在启动时能够尽快拉起首应用,从而缩短了整个启动过程中的等待时间。首应用具备系统级应用权限,系统启动时会主动拉取具备home属性的首应用,从而使得首应用成为第一个启动的应用,进一步缩短了启动时间。在主应用启动后,通过并行执行耗时操作的方式,可以在初始化完成之前逐步加载所需资源,从而大幅降低启动速度,提高用户体验。
18、本发明中的方法通过调整启动顺序、优化系统级应用启动和并行执行耗时操作,能够有效地缩短机顶盒的开机时间,提高用户的使用体验。
1.一种通过调整应用启动顺序缩短机顶盒开机时间的方法,其特征在于:包括以下步骤:
2.根据权利要求1所述的一种通过调整应用启动顺序缩短机顶盒开机时间的方法,其特征在于:步骤s1中,soc芯片的初始化包括:异常初始化、寄存器初始化和配置mmu和cache。
3.根据权利要求1所述的一种通过调整应用启动顺序缩短机顶盒开机时间的方法,其特征在于:步骤s2中,bootloader用于初始化硬件和加载操作系统内核,完成初始化配置最终将控制权交给操作系统。
4.根据权利要求1所述的一种通过调整应用启动顺序缩短机顶盒开机时间的方法,其特征在于:步骤s2中,首应用具体配置为:首应用包括系统级应用权限(android:shareduserid="android.uid.system")以及home属性(<category android:name="android.intent.category.home"/>),系统签名后放置到系统预制应用文件夹中,并预置首应用启动的包名与类名属性:sys.deflauncher.pkg与sys.deflauncher.cls。
5.根据权利要求1所述的一种通过调整应用启动顺序缩短机顶盒开机时间的方法,其特征在于:步骤s2中,引导程序执行完成之后,开始加载linux kernel的核心代码,具体为:首先,创建linux中的init进程并执行;
6.根据权利要求5所述的一种通过调整应用启动顺序缩短机顶盒开机时间的方法,其特征在于:init解析init.rc脚本并执行/system/bin/app_pro ces程序,然后将进程重命名为zygote,完成zygote进程创建。