应用启动方法、装置、设备及计算机存储介质与流程

文档序号:22343851发布日期:2020-09-25 18:15阅读:116来源:国知局
应用启动方法、装置、设备及计算机存储介质与流程

本申请涉及智能终端技术领域,特别涉及一种应用启动方法、装置、设备及计算机存储介质。



背景技术:

车载信息娱乐(in-vehicleinfotainment,ivi)系统,也称车机系统,是汽车的重要组成部分,能够提供播放音乐,收听电台以及导航等服务。在车机系统启动时,会启动安装于车机系统中的多个应用。

相关技术中一种应用启动方法,车机系统在启动时,该车机系统中安装的多个应用同时启动,在车机系统启动完成后,用户能够使用车机系统提供的服务。

但是车机系统中的多个应用在启动时会抢占中央处理器(centralprocessingunit,cpu)资源,导致车机系统开机时间较长。



技术实现要素:

本申请实施例提供了一种应用启动方法、装置、设备及计算机存储介质,能够解决相关技术中车机系统中的多个应用在启动时会抢占cpu资源,导致车机系统开机时间较长的问题。所述技术方案如下:

根据本申请的第一方面,提供了一种应用启动方法,所述应用启动方法包括:

获取每个所述应用的平均使用时长;

根据每个所述应用的平均使用时长,确定每个所述应用的启动顺序;

根据每个所述应用的启动顺序启动所述多个应用。

可选的,所述根据每个所述应用的平均使用时长,确定每个所述应用的启动顺序,包括:

按照所述平均使用时长从大到小的顺序,确定每个所述应用的启动顺序。

可选的,所述应用包括系统应用、第三方应用以及用户指定的应用中的至少一种应用,所述系统应用包括后台应用,或者,所述系统应用包括后台应用以及与所述后台应用绑定的前台应用。

可选的,所述获取每个应用的平均使用时长,包括:

对每个所述应用进行埋点;

获取每个所述应用在预设时间段内多次使用的多个使用时长;

根据所述多个使用时长,获取每个应用的平均使用时长。

可选的,所述根据所述多个使用时长,获取每个应用的平均使用时长,包括:

获取每个所述应用的所述多个使用时长的平均值,所述平均值为算数平均值、几何平均值或加权平均值中的任意一种;

将每个所述应用的所述多个使用时长的平均值确定为每个所述应用的平均使用时长。

可选的,所述获取每个所述应用的平均使用时长之前,所述方法还包括:

判断所述多个应用是否存在启动顺序;

当存在所述启动顺序时,按照所述启动顺序启动所述多个应用;

当不存在所述启动顺序时,执行所述获取每个所述应用的平均使用时长的步骤。

另一方面,提供了一种应用启动装置,用于车机系统,所述车机系统中安装有多个应用,所述应用启动装置包括:

获取模块,用于获取每个所述应用的平均使用时长;

确定模块,用于根据每个所述应用的平均使用时长,确定每个所述应用的启动顺序;

启动模块,用于根据每个所述应用的启动顺序启动所述多个应用。

可选的,所述确定模块还用于:

按照所述平均使用时长从大到小的顺序,确定每个所述应用的启动顺序。

又一方面,提供了一种应用启动设备,其特征在于,所述应用启动设备包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现如第一方面所述的应用启动方法。

再一方面,提供了一种计算机存储介质,其特征在于,所述计算机存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如第一方面所述的应用启动方法。

本申请实施例提供的技术方案带来的有益效果至少包括:

提供了一种应用启动方法,该方法通过获取车机系统中每个应用的平均使用时长,根据该平均使用时长,确定每个应用的启动顺序,并根据每个应用的启动顺序启动多个应用。上述技术方案,解决了相关技术中多个应用在启动时会抢占中央处理器资源,导致车机系统开机时间较长的问题。达到了减少车机系统开机时间的效果。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种应用启动方法的流程图;

图2是本申请实施例提供的另一种应用启动方法的流程图;

图3是图2所示根据多个使用时长,获取每个应用的平均使用时长的子步骤的示意图;

图4是本申请实施例提供的一种应用启动装置的框图;

图5是本申请实施例提供的一种应用启动设备的结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

车机系统在开机时,依次启动装载(loader)层,内核(kernel)层,本地(native)层,框架(framework)层以及应用(application)层。其中,装载层可以包括启动芯片(bootrom)以及引导加载程序(bootloader)等,内核层可以为安卓(android)内核层,本地层可以包括初始(init)进程、初始进程派生出来的用户控件的守护进程、硬件抽象层(hardwareabstractlayer,hal)以及开机动画等,框架层可以包括活动管理器(activitymanagerserviche,ams),包管理服务(packagemanagerservice,pms)以及一些设计系统的定制服务(例如音源焦点服务,车控服务以及车辆服务等),应用层可以包括多个应用(例如车机系统的桌面,语音,导航以及音乐等应用)。

目前,在一种应用启动方法中,车机系统在启动应用层时,车机系统中安装的多个应用同时启动,在车机系统启动完成后,用户能够使用车机系统提供的服务。

但是安装在车机系统中的多个应用在启动时会抢占cpu资源,导致车机系统开机时间较长。

本申请实施例提供了一种应用启动方法、装置、设备及计算机存储介质。

图1是本申请实施例提供的一种应用启动方法的流程图,该应用启动方法可以应用于车机系统中,车机系统可以为车载信息娱乐(in-vehicleinfotainment,ivi)系统,车机系统安装有多个应用。该应用启动方法可以包括:

步骤101,获取每个应用的平均使用时长。

步骤102,根据每个应用的平均使用时长,确定每个应用的启动顺序。

步骤103,根据每个应用的启动顺序启动多个应用。

综上所述,本申请实施例提供了一种应用启动方法,该方法通过获取车机系统中每个应用的平均使用时长,根据该平均使用时长,确定每个应用的启动顺序,并根据每个应用的启动顺序启动多个应用。上述技术方案,解决了相关技术中多个应用在启动时会抢占中央处理器资源,导致车机系统开机时间较长的问题。达到了减少车机系统开机时间的效果。

图2是本申请实施例提供的另一种应用启动方法的流程图。该应用启动方法可以应用于车机系统中,车机系统安装有多个应用。该应用启动方法可以包括:

步骤201,判断多个应用是否存在启动顺序。当存在启动顺序时,执行步骤206,当不存在启动顺序时,执行步骤202。

在车辆启动时,车机系统会随之启动。车机系统在启动的过程中,会依次启动装载层,内核层,本地层,框架层以及应用层,在启动应用层时,可以通过车机系统中的应用程序包管理(packagemanager)获取在车机系统启动时启动的多个应用,再由车机系统的控制组件(例如中央处理器(centralprocessingunit,cpu))判断多个应用是否存在启动顺序。

本申请实施例中,应用包括系统应用、第三方应用以及用户指定的应用中的至少一种应用。其中,系统应用包括后台应用,或者,系统应用包括后台应用以及与后台应用绑定的前台应用。

系统应用可以为车机系统自带的应用,第三方应用可以为非车机系统自带的应用,用户指定的应用可以为用户指定开机启动的系统应用以及用户指定的第三方应用。用户未指定的应用在车机系统启动时不会被启动。

示例性的,与后台应用绑定的前台应用可以为天气插件,以及时间插件等。用户指定的应用可以包括天气插件,用户未指定的应用可以包括时间插件,在车机系统启动时,天气插件启动,而时间插件不启动。

当多个应用存在启动顺序时,也可以执行步骤202,也即是当多个应用存在启动顺序时,可以执行步骤202以及之后的步骤,以更新多个应用的启动顺序。图2所示为当多个应用存在启动顺序时,执行步骤206的情况,但本申请实施例对此并不进行限制。

步骤202,对每个应用进行埋点。

当车机系统中的多个应用不存在启动顺序时,车机系统可以对每个应用进行埋点。埋点可以获取应用的使用状况(例如音乐应用是否开始播放音乐,音乐应用是否停止播放音乐,导航应用是否被用户点击,以及导航应用是否退出等应用的使用状况)以及使用时长,应用的使用时长可以为应用的使用状况开始以及结束之间的时长。

步骤203,获取每个应用在预设时间段内多次使用的多个使用时长。

在预设时间段内,每个应用可能会使用多次,且每次使用的时长可能并不一致,因此可以获取每个应用在预设时间段内多次使用的多个使用时长。示例性的,预设时间段可以为一周。

步骤204,根据多个使用时长,获取每个应用的平均使用时长。

根据每个应用在预设时间段内多次使用的多个使用时长,获取每个应用的平均使用时长,该平均使用时长可以反映用户对该应用的喜好,即平均使用时长较大的应用为用户较为常用的应用,平均使用时长较小的应用为用户不常用的应用,车机系统可以根据用户的喜好确定应用的启动顺序。以使用户能够尽快的使用较为常用的应用。

如图3所示,其为图2所示根据多个使用时长,获取每个应用的平均使用时长的子步骤的示意图。

子步骤2041,获取每个应用的多个使用时长的平均值,平均值为算数平均值、几何平均值或加权平均值中的任意一种。

每个应用的多个使用时长的平均值可以反映用户在预设时间段内对该应用的喜好。

示例性的,可以获取每个应用的多个使用时长的算数平均值。

ym=(tm1+tm2+…+tmn)/n;

ym表示第m个应用的多个使用时长的算数平均值,tm1表示第m个应用在预设时间段内的第一个使用时长,tm2表示第m个应用在预设时间段内的第二个使用时长,tmn表示第m个应用在预设时间段内的第n个使用时长,n表示第m个应用在预设时间段内的n个使用时长。

子步骤2042,将每个应用的多个使用时长的平均值确定为每个应用的平均使用时长。

步骤205,按照平均使用时长从大到小的顺序,确定每个应用的启动顺序。

将多个应用的平均使用时长按照从大到小的顺序进行排序,平均使用时长最大的应用在车机系统的应用层启动时优先启动,也即是优先启动用户较为喜欢的应用。

步骤206,根据每个应用的启动顺序启动多个应用。

确定每个应用的启动顺序后,可以根据每个应用的启动顺序启动车机系统中的多个应用。

使用本申请实施例提供的应用启动方法时,车机系统中的多个应用可以根据启动顺序启动,优先启动平均使用时长较大的应用,也即是优先启动用户较为喜欢的应用,可以在减小车机系统开机时间的情况下,满足用户的喜好。

综上所述,本申请实施例提供了一种应用启动方法,该方法通过获取车机系统中每个应用的平均使用时长,根据该平均使用时长,确定每个应用的启动顺序,并根据每个应用的启动顺序启动多个应用,由于用户的喜好与平均使用时长关联,如此便能够根据用户的喜好按顺序启动多个应用。上述技术方案,解决了相关技术中多个应用在启动时会抢占中央处理器资源,导致车机系统开机时间较长的问题。达到了减少车机系统开机时间的效果。

在一个示例性实施例中,在车辆启动时启动车机系统,车机系统的应用层在启动时会启动多个用户指定的系统应用以及用户指定的第三方应用,在车机系统启动时判断车机系统中用户指定的多个系统应用以及第三方应用是否存在启动顺序,当上述多个应用不存在启动顺序时,对车机系统中用户指定的多个系统应用以及第三方应用进行埋点,获取每个应用在一周内多次使用的多个使用时长,根据多个使用时长,获取每个应用的多个使用时长的算数平均值,并将每个应用的多个使用时长的算数平均值确定为每个应用的平均使用时长,按照平均使用时长从大到小的顺序,确定每个应用的启动顺序,在预设时间段之后根据每个应用的启动顺序启动多个应用。

图4是本申请实施例提供的一种应用启动装置的框图。该装置用于车机系统中,车机系统中安装有多个应用。参考图4可以看出,该应用启动装置400可以包括:

获取模块401,用于获取每个应用的平均使用时长。

确定模块402,用于根据每个应用的平均使用时长,确定每个应用的启动顺序。确定模块402还可以用于按照平均使用时长从大到小的顺序,确定每个应用的启动顺序。

启动模块403,用于根据每个应用的启动顺序启动多个应用。

综上所述,本申请实施例提供了一种应用启动装置,该装置通过获取车机系统中每个应用的平均使用时长,根据该平均使用时长,确定每个应用的启动顺序,并根据每个应用的启动顺序启动多个应用。上述技术方案,解决了相关技术中多个应用在启动时会抢占中央处理器资源,导致车机系统开机时间较长的问题。达到了减少车机系统开机时间的效果。

图5是本申请实施例提供的一种应用启动设备的结构示意图。该应用启动设备500可以是车载终端。

通常,应用启动设备500包括有:处理器501和存储器502。

处理器501可以包括一个或多个处理核心,比如5核心处理器、8核心处理器等。处理器501可以采用数字信号处理(digitalsignalprocessing,dsp)、现场可编程门阵列(field-programmablegatearray,fpga)、可编程逻辑阵列(programmablelogicarray,pla)中的至少一种硬件形式来实现。处理器501也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称中央处理器(centralprocessingunit,cpu);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器501可以在集成有图像处理器(graphicsprocessingunit,gpu),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器501还可以包括人工智能(artificialintelligence,ai)处理器,该ai处理器用于处理有关机器学习的计算操作。

存储器502可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器502还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器502中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器501所执行以实现本申请中方法实施例提供的应用启动方法。

在一些实施例中,应用启动设备500还可选包括有:外围设备接口503和至少一个外围设备。处理器501、存储器502和外围设备接口503之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口503相连。具体地,外围设备包括:射频电路504、触摸显示屏506、摄像头506、音频电路507、定位组件508和电源509中的至少一种。

外围设备接口503可被用于将输入/输出(input/output,i/o)相关的至少一个外围设备连接到处理器501和存储器502。在一些实施例中,处理器501、存储器502和外围设备接口503被集成在同一芯片或电路板上;在一些其他实施例中,处理器501、存储器502和外围设备接口503中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。

射频电路504用于接收和发射射频(radiofrequency,rf)信号,也称电磁信号。射频电路504通过电磁信号与通信网络以及其他通信设备进行通信。射频电路504将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路504包括:天线系统、rf收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路504可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2g、3g、4g及5g)、无线局域网和/或无线保真(wirelessfidelity,wifi)网络。在一些实施例中,射频电路504还可以包括近距离无线通信(nearfieldcommunication,nfc)有关的电路,本申请对此不加以限定。

显示屏505用于显示用户界面(userinterface,ui)。该ui可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏505是触摸显示屏时,显示屏505还具有采集在显示屏505的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器501进行处理。此时,显示屏505还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏505可以为一个,设置应用启动设备500的前面板;在另一些实施例中,显示屏505可以为至少两个,分别设置在应用启动设备500的不同表面或呈折叠设计;在再一些实施例中,显示屏505可以是柔性显示屏,设置在应用启动设备500的弯曲表面上或折叠面上。甚至,显示屏505还可以设置成非矩形的不规则图形,也即异形屏。显示屏505可以采用液晶显示屏(liquidcrystaldisplay,lcd)、有机发光二极管(organiclight-emittingdiode,oled)等材质制备。

摄像头组件506用于采集图像或视频。可选地,摄像头组件506包括前置摄像头和后置摄像头。通常,前置摄像头设置在应用启动设备的前面板,后置摄像头设置在应用启动设备的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及虚拟现实(virtualreality,vr)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件506还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

音频电路507可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器501进行处理,或者输入至射频电路504以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在应用启动设备500的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器501或射频电路504的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路507还可以包括耳机插孔。

定位组件508用于定位应用启动设备500的当前地理位置,以实现导航或基于位置的服务(locationbasedservice,lbs)。定位组件508可以是基于美国的全球定位系统(globalpositioningsystem,gps)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。

电源509用于为应用启动设备500中的各个组件进行供电。电源509可以是交流电、直流电、一次性电池或可充电电池。当电源509包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。

在一些实施例中,应用启动设备500还包括有一个或多个传感器510。该一个或多个传感器510包括但不限于:加速度传感器511、陀螺仪传感器512、压力传感器513、指纹传感器514、光学传感器515以及接近传感器516。

加速度传感器511可以检测以应用启动设备500建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器511可以用于检测重力加速度在三个坐标轴上的分量。处理器501可以根据加速度传感器511采集的重力加速度信号,控制触摸显示屏505以横向视图或纵向视图进行用户界面的显示。加速度传感器511还可以用于游戏或者用户的运动数据的采集。

陀螺仪传感器512可以检测应用启动设备500的机体方向及转动角度,陀螺仪传感器512可以与加速度传感器511协同采集用户对应用启动设备500的3d动作。处理器501根据陀螺仪传感器512采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。

压力传感器513可以设置在应用启动设备500的侧边框和/或触摸显示屏505的下层。当压力传感器513设置在应用启动设备500的侧边框时,可以检测用户对应用启动设备500的握持信号,由处理器501根据压力传感器513采集的握持信号进行左右手识别或快捷操作。当压力传感器513设置在触摸显示屏505的下层时,由处理器501根据用户对触摸显示屏505的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。

指纹传感器514用于采集用户的指纹,由处理器501根据指纹传感器514采集到的指纹识别用户的身份,或者,由指纹传感器514根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器501授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器514可以被设置应用启动设备500的正面、背面或侧面。当应用启动设备500上设置有物理按键或厂商logo时,指纹传感器514可以与物理按键或厂商logo集成在一起。

光学传感器515用于采集环境光强度。在一个实施例中,处理器501可以根据光学传感器515采集的环境光强度,控制触摸显示屏505的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏505的显示亮度;当环境光强度较低时,调低触摸显示屏505的显示亮度。在另一个实施例中,处理器501还可以根据光学传感器515采集的环境光强度,动态调整摄像头组件506的拍摄参数。

接近传感器516,也称距离传感器,通常设置在应用启动设备500的前面板。接近传感器516用于采集用户与应用启动设备500的正面之间的距离。在一个实施例中,当接近传感器516检测到用户与应用启动设备500的正面之间的距离逐渐变小时,由处理器501控制触摸显示屏505从亮屏状态切换为息屏状态;当接近传感器516检测到用户与应用启动设备500的正面之间的距离逐渐变大时,由处理器501控制触摸显示屏505从息屏状态切换为亮屏状态。

本领域技术人员可以理解,图5中示出的结构并不构成对应用启动设备500的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。

本申请实施例还提供了一种计算机存储介质,该计算机存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由处理器加载并执行以实现如上述方法实施例所提供的应用启动方法。

以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1