CN108038010A - 安卓系统启动阶段广播发送方法、装置和终端 - Google Patents
安卓系统启动阶段广播发送方法、装置和终端 Download PDFInfo
- Publication number
- CN108038010A CN108038010A CN201711423575.4A CN201711423575A CN108038010A CN 108038010 A CN108038010 A CN 108038010A CN 201711423575 A CN201711423575 A CN 201711423575A CN 108038010 A CN108038010 A CN 108038010A
- Authority
- CN
- China
- Prior art keywords
- broadcast
- core
- application
- core application
- completed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000005540 biological transmission Effects 0.000 title claims abstract description 29
- 238000012544 monitoring process Methods 0.000 claims description 11
- 238000004891 communication Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 2
- 230000005055 memory storage Effects 0.000 claims 1
- 208000019901 Anxiety disease Diseases 0.000 abstract description 3
- 230000036506 anxiety Effects 0.000 abstract description 3
- 239000000306 component Substances 0.000 description 16
- 230000006870 function Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000009434 installation Methods 0.000 description 4
- 238000002716 delivery method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004217 heart function Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 239000008358 core component Substances 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000000819 phase cycle Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44568—Immediately runnable code
- G06F9/44578—Preparing or optimising for loading
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种在安卓系统启动阶段控制应用程序启动的广播发送方法,其特征在于,所述方法包括:在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;接收所有所述核心应用程序完成启动的消息;发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。解决了现有技术中大量应用程序在安卓系统启动阶段均监听boot_complete启动完成广播,造成各类应用程序对系统资源的争抢和消耗,而一些影响安卓系统运行的核心应用程序因系统资源紧张或争抢不到系统资源导致系统启动时间变长,系统不流畅等问题。
Description
技术领域
本发明涉及软件系统启动领域,尤其涉及一种安卓系统启动阶段控制应用启动的广播发送方法、装置、终端以及计算机可读性存储介质。
背景技术
智能电视的特征之一是装载了智能操作系统,比如现在广泛流行的Android系统,其提供了操作系统基础功能的同时,也提供了开发工具,使得应用开发者可以专注自己的功能和业务逻辑,并以应用程序安装包(apk)的形式发布、流通其应用程序,因此,在装载有安卓系统的终端中,各式各样的应用程序应用范围越来越广泛。进一步的,如何在安装的应用程序越来越多的终端中提高开机系统启动速度,也成为安卓系统的热门研究方向。
在已有技术中,安卓系统启动过程,最基本的核心服务启动完成后,会发送BOOT_COMPLETE(启动完成)这样一个广播到系统,而那些监听这个广播的应用程序,如有启动需求,就可以以此为契机,开始执行自己的一些初始化动作,也就是说,应用为了达到在开机阶段优先或者快速启动自己的目的,会监听这个表明安卓系统核心服务启动完成的广播,从而高优先级的启动自己,或者优化体验提前做一些初始化动作,这样做的最终目的在于保证用户在初次进入应用时可以尽快打开,以提高用户体验。
但是,由于大量的应用程序都监听此广播,随着用户的使用以及安装的第三方应用程序越来越多,不可避免的导致了各类应用程序对该系统启动完成广播的争抢和滥用,进而导致很多应用程序会在开机阶段消耗系统资源,最终影响安卓系统运行的核心应用程序,例如UI界面控制应用程序,会因为系统资源紧张或者争抢不到系统资源而使启动时间变长,系统启动变慢甚至死机,从用户角度来看,就是系统越发臃肿,启动后操作不流畅,反应迟钝,影响了用户体验。
发明内容
本申请实施例通过提供一种在安卓系统启动阶段控制应用程序启动的广播发送方法和装置,解决了现有技术中大量应用程序在安卓系统启动阶段均监听boot_complete启动完成广播,造成各类应用程序对系统资源的争抢和消耗,而一些影响安卓系统运行的核心应用程序因系统资源紧张或争抢不到系统资源导致系统启动时间变长,系统不流畅等问题,最终达到了分阶段完成系统核心应用程序和非核心应用程序的初始化,保证了非核心应用程序不会影响系统核心应用的启动时间,始终保证安卓系统在启动阶段的较为流畅的用户体验效果。
第一方面,本申请实施例提供了一种在安卓系统启动阶段控制应用程序启动的广播发送方法,所述方法包括:
在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
接收所有所述核心应用程序完成启动的消息;
发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
第二方面,本申请实施例提供了一种在安卓系统启动阶段控制应用程序启动的广播发送方法,所述方法包括:
在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
若所述核心应用程序尚未全部完成启动,但发送所述预完成广播后已超出预设时长;
发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
第三方面,本申请实施例提供了一种在安卓系统启动阶段控制应用程序启动的广播发送装置,所述装置包括:
第一广播发送单元,用于在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
消息接收单元,用于接收所有所述核心应用程序完成启动的消息;
第二广播发送单元,用于发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
第四方面,本申请实施例提供了一种在安卓系统启动阶段控制应用程序启动的广播发送装置,所述装置包括:
第三广播发送单元,用于在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
超时计算单元,用于确定若所述核心应用程序尚未全部完成启动,但发送所述预完成广播后已超出预设时长;
第四广播发送单元,用于发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
由上述实施例可知,本发明与现有技术相比,将安卓系统启动阶段控制应用程序启动的广播进行分段,在Android系统服务启动完成之后,首先发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;待接收所有所述核心应用程序完成启动的消息之后,再发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化,这样,由于在第一阶段的广播,即预完成广播发送时,只有核心应用程序开始初始化,此时的系统资源只在核心应用程序之间分配,而非核心应用因为尚未监听到boot_complete启动完成广播,那其并不会因开始初始化而与核心应用程序争抢和消耗系统资源,待接收到所有的核心应用程序完成启动的消息之后,此时,核心应用程序已经启动完毕,使得安卓系统中与核心应用程序相关的运行已经正常,例如与UI界面控制的相关应用程序,而非核心应用基于第二阶段的广播,即boot_complete启动完成广播而开始初始化,由于非核心应用例如用户安装的第三方应用程序,其在第二阶段广播之后才占用系统资源,因此,非核心应用的初始化过程中资源的争抢仅仅会影响本身启动的速度以及是否可以尽快打开运行,不会影响安卓系统运行相关的核心应用程序的启动时间,对用户来说,安卓系统在启动阶段的运行是流畅的,不会出现系统核心功能无响应,反应迟钝的问题,进而提高了用户体验。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1为本申请实施例中所描述的一种在安卓系统启动阶段控制应用程序启动的广播发送方法的流程图;
图2为本申请实施例中所描述的另一种在安卓系统启动阶段控制应用程序启动的广播发送方法的流程图;
图3为本申请实施例中所描述的本申请实现方案与现有技术的实现方案的对比示意图;
图4本申请实施例中所描述的一种在安卓系统启动阶段控制应用程序启动的广播发送装置的模块示意图
图5为本申请实施例中所描述的另一种在安卓系统启动阶段控制应用程序启动的广播发送装置的模块示意图;
图6为本申请实施例中所描述的一种终端的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
本申请的核心,就是安卓系统启动阶段,发送两次对应监听广播的对象不同的广播消息,即,分成安卓软件系统启动预完成广播以及安卓系统默认的BOOT_COMPLETE(启动完成)这2个广播先后发送,从而引导系统中的应用程序分为2个批次先后完成启动相关的初始化动作。其中,“预完成”广播用于通知系统核心应用程序开始执行初始化动作,系统核心应用不再监听原来默认的“BOOT_COMPLETE(启动完成)”广播,改为监听“预完成”广播,从而参与第一阶段的系统启动,保证安卓系统与核心应用相关功能的启动时间。在第一阶段完成后,也就是系统核心应用完成启动和初始化后,系统进而发送“BOOT_COMPLETE(启动完成)”广播,用于通知非核心应用执行其对应的启动或初始化动作。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
如图1所示,本申请实施例提供了一种在安卓系统启动阶段控制应用程序启动的广播发送方法,所述方法包括:
步骤S101,在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
步骤S102,接收所有所述核心应用程序完成启动的消息;
步骤S103,发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
对于搭载有安卓系统的终端设备来说,在安卓系统启动阶段,其一般的流程如下,在此,以搭载有安卓系统的电视终端为例,首先要进行电视设备系统层面的初始化,电视设备上电后,先后完成ACPower、BootLoader、Kernel、Init等过程,其中,BootLoader是一个特殊的程序,它和Linux的内核是分开的,用来初始化内存,将Linux内核加载到RAM中。kernel内核在Android上的启动和在其他系统上启动是相似的,它会启动系统运行所需要的一切,例如初始化中断控制器,建立内存保护,缓存和调度。init进程是所有系统进程的父进程,系统中的任何一个进程都是同过该进程直接或间接启动的。这些都启动完成之后,就开始初始化系统服务,包含关键的守护进程如挂载vold、设备管理ueventd等,以及其他核心服务进程,包括servicemanager服务管理,GUI的核心组件surfaceflinger,媒体核心服务mediaserver,以及运行时孵化器zygote等初始化,进而启动TVService(电视核心服务)。
在已有技术中,待Android系统服务启动完成之后,会发送一个名称为BOOT_COMPLETE的广播,该广播的作用一方面是标识Android系统服务启动完成,另一方面是通知系统中监听此广播的应用程序可以开始执行必要的初始化和启动流程。
在本申请所描述的实施方式中,待Android系统服务启动完成之后,电视的核心服务会首先发送预完成广播HIS_BOOT_COMPLETE,系统核心的应用程序监听此广播,开始执行必要的初始化和启动流程。
还是以电视终端为例,系统核心应用程序是指电视厂商针对电视系统必要功能提供的基础应用程序,以国内某厂商的智能电视系统为例,包含HisenseUI和HiCloud等,HisenseUI是电视智能系统应用程序定制化的UI组件,HiCloud是智能系统与云端服务器交互的代理。这些核心应用程序由于关系到android系统启动之后,终端中关键和基础功能的实现,因此,相对于其他由用户自行安装的第三方应用程序或者系统一些不影响安卓基础运行功能的应用程序来说,核心应用程序应在系统启动阶段优先保证能够初始化启动。
对于如手机类、平板类的终端来说,系统的核心应用程序与电视终端类似,也是针对手机系统、平台系统必要的功能提供的基础应用程序,如手机中负责通话监听的通讯类应用程序,以及负责UI组件控制的应用程序等。各类型终端由于其核心功能不相同,因此,每种类型的终端其核心应用程序也略有差异,在实际应用中,可根据用户的使用需求以及开发人员的前期设计,为终端量身选定每种核心应用程序。
当这些系统核心应用程序完成启动后,基于核心应用程序完成启动的消息,告知电视核心服务TVService,电视核心服务统计、记录已经启动的核心应用,当完成所有预定的核心应用启动后,代表应用启动的第一阶段即核心应用程序启动完毕。
智能电视的核心服务TVService在获知核心应用启动完成后,进而继续发送启动完成广播BOOT_COMPLETE,进入第二阶段即非核心应用启动。该BOOT_COMPLETE广播与已有技术中相同,安卓系统中的非核心应用监听此广播,进而开始执行必要的初始化和启动流程。
此处的非核心应用程序与核心应用程序相对应,可以包括用户自行安装的第三方应用程序,或者在终端中原始搭载的不涉及电视终端启动所必须的基础功能的应用程序,例如,电视应用市场、用户曲库管理类等应用程序,以及类似于聊天软件、优酷视频等应用程序,由于这样的应用程序在系统启动阶段如果不初始化,也并不会影响电视终端的基础运行功能,因此,为了保证核心应用程序能够优先初始化,对于非核心应用程序,其应尽量避免在系统服务启动之后,与核心应用程序争抢系统资源。因此,则在应用启动的第二阶段,待监听到BOOT_COMPLETE启动完成广播之后,再开始执行必要的初始化和启动流程。
进一步的,接收所述核心应用程序完成启动的消息之前,包括:
读取保存的核心应用程序列表,获取待接受完成启动的消息的核心应用程序;
接收所有所述核心应用程序完成启动的消息,具体包括:
每当接收到的应用程序完成启动的消息,判断发送所述应用程序完成启动的消息的应用程序是否为核心应用程序;
若是,则确定接收到核心应用程序完成启动的消息。
进一步的,所述核心应用程序通过如下步骤确定:
若接收用户将一应用程序指定为核心应用程序的指示消息;
将被指定为核心应用程序的所述应用程序监听的广播消息由boot_complete启动完成广播更改为预完成广播;
将所述被指定为核心应用程序的应用程序对应的信息保存到所述核心应用程序列表。
本申请在逻辑上将应用初始化阶段一分二位,第一阶段完成核心应用初始化,第二阶段完成非核心应用初始化。核心应用只需要更改监听的预完成广播即可,与系统层面解耦,无依赖,并且无需修改系统框架核心代码,便于移植。
如果用户将一应用程序指定为核心应用程序,对于应用程序的执行代码而言,其只需要将监听的系统广播进行修改,其他都不需要变动,最后再将作为核心应用程序的信息进行保存,告知系统即可。
与前述实施方式基于相同的发明构思,如图2所示,本申请实施例还提供了一种在安卓系统启动阶段控制应用程序启动的广播发送方法,所述方法包括:
步骤S201,在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
步骤S202,若所述核心应用程序尚未全部完成启动,但发送所述预完成广播后已超出预设时长;
步骤S203,发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
与图1所描述的实施方式相类似,在应用启动的第一启动阶段,即监听到预完成广播HIS_BOOT_COMPLETE发出后,终端中用于监听所述预完成广播的核心应用程序开始初始化,此时尚未进入第二启动阶段(即发出BOOT_COMPLETE广播前),由于核心应用程序的启动时间并不确定,可选的,本申请实施方式可以设置超时阀值N秒(例如3秒),若3秒内系统核心应用程序启动完成(核心应用程序启动完成后告知电视核心服务),参考图1中描述的实施方式,则直接进入第二阶段。若3秒内系统核心应用程序没有全部启动,例如,有3个核心应用程序需要在第一阶段进行启动,如果3秒内,只有2个核心应用程序启动完成,还有1个核心应用程序尚在初始化过程中,那么在3秒超时后,也就是所述核心应用程序尚未全部完成启动,但发送所述预完成广播后已超出预设时长,也会直接进入第二阶段,保证系统逻辑健壮。
具体的示例如下,本案以目标设备加载的是Android6.0智能电视操作系统为例,在设备安卓系统服务完成初始化后,应用程序的启动阶段的对比分段耗时统计如表1。
本例中采用相同的应用程序集合,其中2个核心应用程序(HisenseUI、HiCloud),4个非核心应用程序(YoukuApp、WeiboApp、ToutiaoApp、WechatApp)来模拟常用应用程序。
表1:
参考表1可见,分段广播带来的分段加载,可以高优先级的将系统开机阶段的计算能力和资源调配给系统核心应用程序,进行初始化和启动。而如果统一在默认广播不分段的情况下,系统核心应用程序和非核心应用程序同时进行初始化和启动,会导致计算能力和资源的相互抢占,导致总体的加载时间反而变长。
参考图3所示与现有技术的方案对比示意图,对于用户而言,分段广播带来的直观体验,就是A方案比B方案的启动时间短,即便用户继续安装更多的第三方应用程序且这些应用程序都会在系统启动阶段执行一些初始化或自启动工作(如果监听开机广播BOOT_COMPLETE),方案A也会保证系统启动时间依旧控制在7.38秒左右,而方案B的启动时间会随着应用的增多而继续变长且不可控。
由上述实施例可知,本发明与现有技术相比,将安卓系统启动阶段控制应用程序启动的广播进行分段,在Android系统服务启动完成之后,首先发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;待接收所有所述核心应用程序完成启动的消息之后,再发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化,这样,由于在第一阶段的广播,即预完成广播发送时,只有核心应用程序开始初始化,此时的系统资源只在核心应用程序之间分配,而非核心应用因为尚未监听到boot_complete启动完成广播,那其并不会因开始初始化而与核心应用程序争抢和消耗系统资源,待接收到所有的核心应用程序完成启动的消息之后,此时,核心应用程序已经启动完毕,使得安卓系统中与核心应用程序相关的运行已经正常,例如与UI界面控制的相关应用程序,而非核心应用基于第二阶段的广播,即boot_complete启动完成广播而开始初始化,由于非核心应用例如用户安装的第三方应用程序,其在第二阶段广播之后才占用系统资源,因此,非核心应用的初始化过程中资源的争抢仅仅会影响本身启动的速度以及是否可以尽快打开运行,不会影响安卓系统运行相关的核心应用程序的启动时间,对用户来说,安卓系统在启动阶段的运行是流畅的,不会出现系统核心功能无响应,反应迟钝的问题,进而提高了用户体验。
基于相同的发明构思,如图4所示,本申请实施例还提供了一种在安卓系统启动阶段控制应用程序启动的广播发送装置,所述装置400包括:
第一广播发送单元401,用于在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
消息接收单元402,用于接收所有所述核心应用程序完成启动的消息;
第二广播发送单元403,用于发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
进一步的,所述装置400还包括:
读取单元,用于读取保存的核心应用程序列表,获取待接受完成启动的消息的核心应用程序;
相应的,消息接收单元,具体包括:
判断单元,用于每当接收到的应用程序完成启动的消息,判断发送所述应用程序完成启动的消息的应用程序是否为核心应用程序;
确定单元,用于若是,则确定接收到核心应用程序完成启动的消息。
进一步的,所述装置400还包括用于确定所述核心应用程序的如下单元:
指示单元,若接收用户将一应用程序指定为核心应用程序的指示消息;
监听广播更改单元,用于将被指定为核心应用程序的所述应用程序监听的广播消息由boot_complete启动完成广播更改为预完成广播;
信息保存单元,用于将所述被指定为核心应用程序的应用程序对应的信息保存到所述核心应用程序列表。
基于相同的发明构思,本申请实施例还提供了一种在安卓系统启动阶段控制应用程序启动的广播发送装置,如图5所示,所述装置500包括:
第三广播发送单元501,用于在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
超时计算单元502,用于确定若所述核心应用程序尚未全部完成启动,但发送所述预完成广播后已超出预设时长;
第四广播发送单元503,用于发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
图6是根据一示例性实施例示出的一种终端600的框图。
参考图6,终端600可以包括以下一个或者多个组件:处理组件601,存储器602,电源组件603,多媒体组件604,音频组件605,传感器组件607以及通信组件608。其中,上述组件并不全是必须的,终端600可以根据自身功能需求增加其他组件或减少某些组件,本实施例不作限定。
处理组件601通常控制终端600的整体操作,诸如与显示,数据通信,相机操作以及记录操作相关联的操作等。处理组件601可以包括一个或多个处理器609来执行指令,以完成上述操作的全部或部分步骤。此外,处理组件601可以包括一个或多个模块,便于处理组件601和其他组件之间的交互。例如,处理组件601可以包括多媒体模块,以方便多媒体组件604和处理组件601之间的交互。
存储器602被配置为存储各种类型的数据以支持在终端600的操作。这些数据的示例包括用于在终端600上操作的任何应用程序或方法的指令。存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如SRAM(Static Random AccessMemory,静态随机存取存储器),EEPROM(Electrically Erasable Programmable Read-Only Memory,电可擦除可编程只读存储器),EPROM(Erasable Programmable Read OnlyMemory,可擦除可编程只读存储器),PROM(Programmable Read-Only Memory,可编程只读存储器),ROM(Read-Only Memory,只读存储器),磁存储器,快闪存储器,磁盘或光盘。存储器602中还存储有一个或多个模块,该一个或多个模块被配置成由该一个或多个处理器609执行,以完成图1、图2任一所示方法中的全部或者部分步骤。
该实施例中的终端中处理器执行操作的具体方式已经在有关该缓存数据的处理方法的实施例中执行了详细描述,此处将不再做详细阐述说明。
本发明实施例提供了一种计算机可存储介质,其上存储有计算机程序,该程序被处理器执行时实现图1的方法中的步骤或图2的方法的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种在安卓系统启动阶段控制应用程序启动的广播发送方法,其特征在于,所述方法包括:
在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
接收所有所述核心应用程序完成启动的消息;
发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
2.一种在安卓系统启动阶段控制应用程序启动的广播发送方法,其特征在于,所述方法包括:
在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
若所述核心应用程序尚未全部完成启动,但发送所述预完成广播后已超出预设时长;
发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
3.如权利要求1所述的方法,其特征在于,接收所述核心应用程序完成启动的消息之前,包括:
读取保存的核心应用程序列表,获取待接受完成启动的消息的核心应用程序;
接收所有所述核心应用程序完成启动的消息,具体包括:
每当接收到的应用程序完成启动的消息,判断发送所述应用程序完成启动的消息的应用程序是否为核心应用程序;
若是,则确定接收到核心应用程序完成启动的消息。
4.根据权利要求3所述的方法,其特征在于,所述核心应用程序通过如下步骤确定:
若接收用户将一应用程序指定为核心应用程序的指示消息;
将被指定为核心应用程序的所述应用程序监听的广播消息由boot_complete启动完成广播更改为预完成广播;
将所述被指定为核心应用程序的应用程序对应的信息保存到所述核心应用程序列表。
5.一种在安卓系统启动阶段控制应用程序启动的广播发送装置,其特征在于,所述装置包括:
第一广播发送单元,用于在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
消息接收单元,用于接收所有所述核心应用程序完成启动的消息;
第二广播发送单元,用于发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
6.一种在安卓系统启动阶段控制应用程序启动的广播发送装置,其特征在于,所述装置包括:
第三广播发送单元,用于在Android系统服务启动完成之后,发送预完成广播,以使得终端中用于监听所述预完成广播的核心应用程序开始初始化;
超时计算单元,用于确定若所述核心应用程序尚未全部完成启动,但发送所述预完成广播后已超出预设时长;
第四广播发送单元,用于发送boot_complete启动完成广播,以使得终端中用于监听所述boot_complete启动完成广播的非核心应用开始初始化。
7.如权利要求5所述的装置,其特征在于,所述装置还包括:
读取单元,用于读取保存的核心应用程序列表,获取待接受完成启动的消息的核心应用程序;
相应的,消息接收单元,具体包括:
判断单元,用于每当接收到的应用程序完成启动的消息,判断发送所述应用程序完成启动的消息的应用程序是否为核心应用程序;
确定单元,用于若是,则确定接收到核心应用程序完成启动的消息。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括用于确定所述核心应用程序的如下单元:
指示单元,若接收用户将一应用程序指定为核心应用程序的指示消息;
监听广播更改单元,用于将被指定为核心应用程序的所述应用程序监听的广播消息由boot_complete启动完成广播更改为预完成广播;
信息保存单元,用于将所述被指定为核心应用程序的应用程序对应的信息保存到所述核心应用程序列表。
9.一种终端,其特征在于,所述终端包括:
处理器;以及
与所述处理器通信连接的存储器;其中,
所述存储器存储有可读性指令,所述可读性指令被所述处理器执行时实现如权利要求1-4任一项所述的方法。
10.一种计算机可读性存储介质,其上存储有计算机程序,其特征在于,所述计算机程序在被执行时实现如权利要求1-4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711423575.4A CN108038010A (zh) | 2017-12-25 | 2017-12-25 | 安卓系统启动阶段广播发送方法、装置和终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711423575.4A CN108038010A (zh) | 2017-12-25 | 2017-12-25 | 安卓系统启动阶段广播发送方法、装置和终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108038010A true CN108038010A (zh) | 2018-05-15 |
Family
ID=62101105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711423575.4A Pending CN108038010A (zh) | 2017-12-25 | 2017-12-25 | 安卓系统启动阶段广播发送方法、装置和终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108038010A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189481A (zh) * | 2018-07-25 | 2019-01-11 | 上海与德通讯技术有限公司 | 应用程序的打开方法及终端设备 |
CN111611028A (zh) * | 2020-05-28 | 2020-09-01 | 湖北亿咖通科技有限公司 | 车载信息娱乐系统的应用程序的启动方法及电子设备 |
CN112000375A (zh) * | 2020-07-13 | 2020-11-27 | 深圳市智微智能软件开发有限公司 | 安卓系统的启动阶段判断方法、装置、设备及存储介质 |
CN112433785A (zh) * | 2021-01-28 | 2021-03-02 | 智道网联科技(北京)有限公司 | 用于智能车载网联终端的服务快速启动方法及装置 |
CN116244008A (zh) * | 2023-05-10 | 2023-06-09 | 荣耀终端有限公司 | 应用启动方法、电子设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855148A (zh) * | 2012-08-02 | 2013-01-02 | 广东欧珀移动通信有限公司 | 一种基于Android的开机管理方法 |
CN103345408A (zh) * | 2013-06-26 | 2013-10-09 | 深圳市金立通信设备有限公司 | 一种终端开机加速的方法及终端 |
EP2998899A1 (en) * | 2014-09-16 | 2016-03-23 | Xiaomi Inc. | Method and apparatus for running application program |
CN106792185A (zh) * | 2016-11-15 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 开机方法、开机装置及Android智能设备 |
CN107423064A (zh) * | 2017-07-26 | 2017-12-01 | 广东欧珀移动通信有限公司 | 消息处理方法、装置、终端设备及存储介质 |
-
2017
- 2017-12-25 CN CN201711423575.4A patent/CN108038010A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855148A (zh) * | 2012-08-02 | 2013-01-02 | 广东欧珀移动通信有限公司 | 一种基于Android的开机管理方法 |
CN103345408A (zh) * | 2013-06-26 | 2013-10-09 | 深圳市金立通信设备有限公司 | 一种终端开机加速的方法及终端 |
EP2998899A1 (en) * | 2014-09-16 | 2016-03-23 | Xiaomi Inc. | Method and apparatus for running application program |
CN106792185A (zh) * | 2016-11-15 | 2017-05-31 | 深圳Tcl数字技术有限公司 | 开机方法、开机装置及Android智能设备 |
CN107423064A (zh) * | 2017-07-26 | 2017-12-01 | 广东欧珀移动通信有限公司 | 消息处理方法、装置、终端设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
CHIRAG SONI: "Android boot time optimization Techniques", 《INTERNATIONAL JOURNAL ON RECENT AND INNOVATION TRENDS IN COMPUTING AND COMMUNICATION》 * |
QUAN GAN: "The Research of Android Broadcast Intercept Technology Based on Priority", 《2012 FOURTH INTERNATIONAL CONFERENCE ON MULTIMEDIA INFORMATION NETWORKING AND SECURITY》 * |
杜海松: "Android手机流畅度与电池续航力智能优化的设计与实现", 《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》 * |
禹建磊: "Android系统启动程序的优化设计与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109189481A (zh) * | 2018-07-25 | 2019-01-11 | 上海与德通讯技术有限公司 | 应用程序的打开方法及终端设备 |
CN111611028A (zh) * | 2020-05-28 | 2020-09-01 | 湖北亿咖通科技有限公司 | 车载信息娱乐系统的应用程序的启动方法及电子设备 |
CN112000375A (zh) * | 2020-07-13 | 2020-11-27 | 深圳市智微智能软件开发有限公司 | 安卓系统的启动阶段判断方法、装置、设备及存储介质 |
CN112000375B (zh) * | 2020-07-13 | 2023-12-26 | 深圳市智微智能软件开发有限公司 | 安卓系统的启动阶段判断方法、装置、设备及存储介质 |
CN112433785A (zh) * | 2021-01-28 | 2021-03-02 | 智道网联科技(北京)有限公司 | 用于智能车载网联终端的服务快速启动方法及装置 |
CN116244008A (zh) * | 2023-05-10 | 2023-06-09 | 荣耀终端有限公司 | 应用启动方法、电子设备以及存储介质 |
CN116244008B (zh) * | 2023-05-10 | 2023-09-15 | 荣耀终端有限公司 | 应用启动方法、电子设备以及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108038010A (zh) | 安卓系统启动阶段广播发送方法、装置和终端 | |
WO2020108085A1 (zh) | 资源配置方法、装置、终端及存储介质 | |
CN110495136B (zh) | 裸金属服务器的硬件属性发现方法和系统 | |
CN110333947B (zh) | 一种游戏应用的分包资源加载方法、装置、设备及介质 | |
EP2945058A1 (en) | Processing method and device for application program | |
CN109542744B (zh) | 检测终端开机异常问题的方法、装置、存储介质及终端 | |
CN112988400B (zh) | 显存优化方法、装置、电子设备以及可读存储介质 | |
WO2019024649A1 (zh) | 应用程序的启动方法、装置、存储介质和终端 | |
TW200818011A (en) | Method and apparatus for virtualization of appliances | |
US20170192619A1 (en) | Method of processing application cpu usage rate anomaly, and device and mobile terminal | |
CN105335178B (zh) | 一种启动控制方法,及装置 | |
US20130227565A1 (en) | Apparatus and method for managing application for guest operating system | |
US10908948B2 (en) | Multiple application instances in operating systems that utilize a single process for application execution | |
CN110955499B (zh) | 处理器核心配置方法、装置、终端及存储介质 | |
CN108235756B (zh) | 一种音频竞争播放装置及其方法、移动终端 | |
CN103778211A (zh) | 移动终端游戏软件的语言切换方法及装置 | |
CN111506283A (zh) | 图像显示方法、装置及系统 | |
CN109445994A (zh) | 开机处理方法、装置、终端设备及存储介质 | |
CN111708548A (zh) | 软件安装方法、装置、设备及存储介质 | |
CN105808440A (zh) | 应用程序的低内存测试方法、装置和系统 | |
US20220038444A1 (en) | Cloud device, application processing method, electronic device and storage medium | |
CN115495161B (zh) | Bios选项修改的生效方法和装置、存储介质 | |
WO2014067368A1 (zh) | 资源预览图的获取方法、装置以及设备 | |
US20180081711A1 (en) | Method and apparatus for operating system level of application | |
US10891017B1 (en) | Rotating icon selection and interaction software development kit (SDK) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 266100 No. 151, Zhuzhou Road, Laoshan District, Shandong, Qingdao Applicant after: Hisense Video Technology Co.,Ltd. Address before: 266100 No. 151, Zhuzhou Road, Laoshan District, Shandong, Qingdao Applicant before: QINGDAO HISENSE ELECTRONICS Co.,Ltd. |
|
CB02 | Change of applicant information | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180515 |
|
WD01 | Invention patent application deemed withdrawn after publication |