CN103699398A - 终端设备及其启动控制方法 - Google Patents
终端设备及其启动控制方法 Download PDFInfo
- Publication number
- CN103699398A CN103699398A CN201210366352.XA CN201210366352A CN103699398A CN 103699398 A CN103699398 A CN 103699398A CN 201210366352 A CN201210366352 A CN 201210366352A CN 103699398 A CN103699398 A CN 103699398A
- Authority
- CN
- China
- Prior art keywords
- processing unit
- operating system
- system service
- terminal device
- service process
- 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.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
启动控制方法以及终端设备,所述启动控制方法应用于终端设备,所述启动控制方法包括:在操作系统的系统服务进程启动之前,启动开机动画进程并显示开机动画;在系统服务进程执行期间,通过系统服务进程初始化锁屏进程;在系统服务进程完成锁屏进程的初始化之后,所述系统服务进程启动桌面进程;在所述桌面进程执行启动桌面所需的处理期间,所述系统服务进程停止所述开机动画进程,并且通知所述锁屏进程显示所述锁屏画面,同时所述桌面进程继续执行启动桌面所需的剩余处理。
Description
技术领域
本发明涉及一种终端设备及其启动控制方法。
背景技术
当前,越来越多的用户正在使用诸如智能手机或平板电脑之类的终端设备。在终端设备的使用中,上述终端设备的开机速度是影响用户体验的重要因素。例如,在安装了Android操作系统的终端设备中,终端设备的用户更启动终端设备所需的时间一般30为秒以上。此外,在终端设备中安装了大量应用程序之后,终端设备的启动时间将会更长。在终端设备的启动过程中,终端设备通常除了开机动画外,不能给用户任何有用的提示,并且用户不能对终端设备进行操作,因此终端设备的用户可能会变得很烦躁。另外,由于终端设备的用户很容易将终端设备的性能与终端设备的开机速度联系起来,因此优化终端设备的开机速度对于提高用户体验至关重要。
发明内容
为了解决现有技术中的上述技术问题,根据本发明的一方面,提供一种启动控制方法,应用于终端设备,所述启动控制方法包括:在操作系统的系统服务进程启动之前,启动开机动画进程并显示开机动画;在系统服务进程执行期间,通过系统服务进程初始化锁屏进程;在系统服务进程完成锁屏进程的初始化之后,所述系统服务进程启动桌面进程;在所述桌面进程执行启动桌面所需的处理期间,所述系统服务进程停止所述开机动画进程,并且通知所述锁屏进程显示所述锁屏画面,同时所述桌面进程继续执行启动桌面所需的剩余处理。
此外,根据本发明的一个实施例,其中所述方法进一步包括:在系统服务进程完成锁屏进程的初始化之后,所述系统服务进程启动壁纸管理进程;在壁纸管理进程完成壁纸的加载之后,所述壁纸管理进程向所述系统服务进程发送壁纸加载完成的消息;在所述系统服务进程获得壁纸加载完成的消息之后,所述系统服务进程停止所述开机动画进程,并且通知所述锁屏进程显示所述锁屏画面。
此外,根据本发明的一个实施例,其中在系统服务进程执行期间,通过系统服务进程中的数据包管理进程判断之前是否进行过所述终端设备中存储的应用程序安装包的扫描;如果数据包管理进程判断之前已经进行过所述应用程序安装包的扫描,则所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件。
此外,根据本发明的一个实施例,其中所述终端设备的处理单元至少包括两个处理核心,所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件的步骤进一步包括:在所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件时,所述数据包管理进程建立至少两个扫描进程来通过所述处理单元的至少两个处理核心并行读取并解析所述应用程序安装包中应用程序配置文件。
此外,根据本发明的一个实施例,其中所述方法进一步包括:在所述终端设备开始启动时,启动操作系统加载程序;所述操作系统加载程序启动操作系统内核程序;在所述操作系统内核程序启动完成之后,启动操作系统虚拟机;所述操作系统虚拟机在加载所需的类文件以及资源的同时,所述操作系统虚拟机并行启动所述系统服务进程。
此外,根据本发明的一个实施例,其中所述终端设备的处理单元包括至少两个处理核心,所述操作系统虚拟机并行启动所述系统服务进程的步骤进一步包括:通过所述处理单元中的两个处理核心之一执行所述操作系统虚拟机加载所需的类文件以及资源的处理;以及通过所述处理单元中的另一个处理核心执行启动所述系统服务进程的处理。
此外,根据本发明的另一方面,提供一种启动控制方法,应用于终端设备,所述终端设备的处理单元至少包括两个处理核心,所述方法包括:在所述终端设备开始启动时,启动操作系统加载程序;所述操作系统加载程序启动操作系统内核程序;在所述操作系统内核程序启动完成之后,启动操作系统虚拟机;所述操作系统虚拟机在加载所需的类文件以及资源的同时,所述操作系统虚拟机并行启动所述系统服务进程,其中通过所述处理单元中的两个处理核心之一执行所述操作系统虚拟机加载所需的类文件以及资源的处理;以及通过所述处理单元中的另一个处理核心执行启动所述系统服务进程的处理。
此外,根据本发明的一个实施例,其中所述方法进一步包括:在系统服务进程执行期间,通过系统服务进程中的数据包管理进程判断之前是否进行过所述终端设备中存储的应用程序安装包的扫描;如果数据包管理进程判断之前已经进行过所述应用程序安装包的扫描,则所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件。
此外,根据本发明的一个实施例,其中在所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件时,所述数据包管理进程建立至少两个扫描进程来通过所述处理单元的至少两个处理核心并行读取并解析所述应用程序安装包中应用程序配置文件。
根据本发明的另一方面,提供一种终端设备,包括:显示单元,配置来显示画面;处理单元,配置来在所述终端设备的启动过程期间,在操作系统的系统服务进程启动之前,启动开机动画进程并通过所述显示单元显示开机动画;在系统服务进程执行期间,通过系统服务进程初始化锁屏进程;在系统服务进程完成锁屏进程的初始化之后,通过所述系统服务进程启动桌面进程;在所述桌面进程执行启动桌面所需的处理期间,通过所述系统服务进程停止所述开机动画进程,并且通知所述锁屏进程显示所述锁屏画面,同时通过所述桌面进程继续执行启动桌面所需的剩余处理。
此外,根据本发明的一个实施例,其中在系统服务进程完成锁屏进程的初始化之后,所述处理单元通过所述系统服务进程启动壁纸管理进程;以及在壁纸管理进程完成壁纸的加载之后,所述处理单元通过所述壁纸管理进程向所述系统服务进程发送壁纸加载完成的消息;在所述系统服务进程获得壁纸加载完成的消息之后,所述处理单元通过所述系统服务进程停止所述开机动画进程,并且通知所述锁屏进程显示所述锁屏画面。
此外,根据本发明的一个实施例,其中在系统服务进程执行期间,所述处理单元通过系统服务进程中的数据包管理进程判断之前是否进行过所述终端设备中存储的应用程序安装包的扫描;如果数据包管理进程判断之前已经进行过所述应用程序安装包的扫描,则所述处理单元通过所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件。
此外,根据本发明的一个实施例,其中所述终端设备的处理单元至少包括两个处理核心;以及在仅读取并解析所述应用程序安装包中应用程序配置文件时,所述处理单元通过所述数据包管理进程建立至少两个扫描进程,使得所述处理单元的至少两个处理核心并行读取并解析所述应用程序安装包中应用程序配置文件。
此外,根据本发明的一个实施例,其中在所述终端设备开始启动时,所述处理单元启动操作系统加载程序;所述处理单元通过所述操作系统加载程序启动操作系统内核程序;在所述操作系统内核程序启动完成之后,所述处理单元启动操作系统虚拟机;所述操作系统虚拟机在加载所需的类文件以及资源的同时,所述处理单元通过所述操作系统虚拟机并行启动所述系统服务进程。
此外,根据本发明的一个实施例,其中所述处理单元包括至少两个处理核心:以及所述处理单元中的两个处理核心之一执行所述操作系统虚拟机加载所需的类文件以及资源的处理;以及通过所述处理单元中的另一个处理核心执行启动所述系统服务进程的处理。
根据本发明的另一方面,提供一种终端设备,包括:处理单元,包括至少两个处理核心,并且配置来执行所述终端设备的启动控制,其中在所述终端设备开始启动时,所述处理单元启动操作系统加载程序;所述处理单元通过所述操作系统加载程序启动操作系统内核程序;在所述操作系统内核程序启动完成之后,所述处理单元启动操作系统虚拟机;所述操作系统虚拟机在加载所需的类文件以及资源的同时,所述处理单元通过所述操作系统虚拟机并行启动所述系统服务进程,其中通过所述处理单元中的两个处理核心之一执行所述操作系统虚拟机加载所需的类文件以及资源的处理;以及通过所述处理单元中的另一个处理核心执行启动所述系统服务进程的处理。
此外,根据本发明的一个实施例,其中在系统服务进程执行期间,所述处理单元通过系统服务进程中的数据包管理进程判断之前是否进行过所述终端设备中存储的应用程序安装包的扫描;如果数据包管理进程判断之前已经进行过所述应用程序安装包的扫描,则所述处理单元通过所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件。
此外,根据本发明的一个实施例,其中在所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件时,所述处理单元通过所述数据包管理进程建立至少两个扫描进程,使得通过所述处理单元的至少两个处理核心并行读取并解析所述应用程序安装包中应用程序配置文件。
通过上述方式,通过改变终端设备的启动过程中的部分进程的执行顺序或将进程的串行执行改变为并行执行或省略掉不必要的扫描,可以有效地缩短终端设备的启动时间,由此可以大大提高用户的使用体验。
附图说明
图1是图解根据本发明一个实施例的终端设备的示意图;
图2是图解根据本发明另一个实施例的终端设备的示意图;
图3是图解根据本发明一个实施例的启动控制方法的流程图;以及
图4是图解根据本发明另一个实施例的启动控制方法的流程图
具体实施方式
将参照附图详细描述根据本发明的各个实施例。这里,需要注意的是,在附图中,将相同的附图标记赋予基本上具有相同或类似结构和功能的组成部分,并且将省略关于它们的重复描述。
下面将参照图1描述根据本发明实施例的终端设备。这里,根据本发明实施例的终端设备可以是诸如安装了Android操作系统的智能手机或平板电脑之类的终端设备。
如图1所示,根据本发明实施例的终端设备1可以包括显示单元10以及处理单元11。
显示单元10可以由任意的液晶显示屏幕或OLED显示屏幕实现,并且可以基于所提供的图像信号显示画面。
处理单元11可以由任意的处理器或微处理器实现,并且可以在特定的软件或应用的控制下执行预设的处理。
根据本发明的实施例,可以配置终端设备1的操作系统中的程序代码,使得处理单元11可以执行根据本发明实施例的启动控制方法。下面,以Android操作系统为例进行描述。
对于具有Android操作系统的终端设备来说,通常,在用户按下终端设备1的开机键(未示出)之后,终端设备开始启动。通常,终端设备1的处理单元11首先运行操作系统加载程序(Bootloader)。然后,处理单元11在加载完操作系统加载程序之后,通过操作系统加载程序启动操作系统内核程序(Kernel),该操作系统内核程序为终端设备的操作系统的基础。然后,处理单元11在该操作系统内核程序启动完成之后,处理单元11启动操作系统虚拟机(Android zygote虚拟机),这里,操作系统虚拟机用于加载操作系统所需的各种进程以及资源。例如,操作系统虚拟机可以用于加载终端设备的操作系统运行所需的类文件(class)和各种资源以及系统服务进程(SystemSever进程)。这里,系统服务进程可以提供操作系统提供所有的核心服务。
在现有技术中,在系统服务进程启动之后,系统服务进程初始化锁屏进程,然后系统服务进程启动桌面进程(Launcher)以及壁纸管理进程(WallpaperManagerService)。这里,桌面进程主要用于通过显示单元10显示终端设备的用户桌面,加载桌面上的图标以及小程序(widget)。在这种情况下,如果终端设备的用户桌面上内容较多(可能还会包括几个扩展屏,供用户左右拖动切换)。桌面进程的启动速度将会随着终端设备的桌面上加载内容的增加而延长。壁纸管理进程用于通过显示单元10显示终端设备的壁纸(背景)。此外,锁屏进程为用于显示透明背景的应用,其背景为壁纸管理进程所显示的背景图。因此,在壁纸管理进程加载完壁纸之后,锁屏进程就可以显示锁屏画面。然而,在现有技术中,当桌面进程处理完启动桌面所需的所有处理(例如初始化扩展屏、加载图标、加载widget)之后,桌面进程会进入到空闲状态。在这种情况下,系统服务进程检测到桌面进程进入到空闲状态后,桌面进程会停止开机动画的显示,并且通知锁屏进程通过显示单元10显示锁屏画面。
然而,随着用户在终端设备中安装的应用越来越多,桌面进程执行处理的时间会随之延长,由此会延长终端设备的开机速度。
在在这种情况下,根据本发明的实施例,配置终端设备1的操作系统,使得在终端设备的启动过程期间对上述进程的执行顺序进行优化以提高终端设备1的开机速度。
根据本发明的一个实施例,在操作系统的系统服务进程启动之前,处理单元11首先启动开机动画进程并通过显示单元10显示开机动画。这里,可以在终端设备11运行操作系统加载程序(Bootloader)时启动该开机动画进程。然后,在系统服务进程执行期间,处理单元11通过系统服务进程初始化锁屏进程。然后,在处理单元11通过系统服务进程完成锁屏进程的初始化之后,处理单元11通过系统服务进程启动桌面进程。这里,与现有技术不同,在桌面进程执行启动桌面所需的处理期间,处理单元11通过系统服务进程停止开机动画进程,并且通知锁屏进程显示锁屏画面。此时,处理单元11通过桌面进程继续执行启动桌面所需的剩余处理。
具体地,在系统服务进程完成锁屏进程的初始化之后,处理单元11还通过系统服务进程启动壁纸管理进程来加载终端设备1的壁纸。在壁纸管理进程完成壁纸的加载之后,处理单元11通过壁纸管理进程向系统服务进程发送壁纸加载完成的消息。这里,如上所述,由于锁屏进程用于通过显示单元10显示透明背景,而锁屏进程的背景为壁纸管理进程所显示的背景图。因此,在壁纸管理进程加载完壁纸之后,锁屏进程就可以显示锁屏画面。在这种情况下,在系统服务进程获得了壁纸加载完成的消息之后,处理单元11通过系统服务进程停止开机动画进程,并且通知锁屏进程显示锁屏画面。此时,由于桌面进程所执行的启动桌面所需的全部处理的时间要远远大于壁纸管理进程加载壁纸的时间,因此在处理单元11通过系统服务进程通知锁屏进程显示锁屏画面,并且锁屏进程通过显示单元10显示锁屏画面时,桌面进程尚未完成启动桌面所需的全部处理。在这种情况下,处理单元11通过桌面进程继续执行启动桌面所需的剩余处理。
这里,在终端设备1的用户看到锁屏画面直到终端设备1的用户进行解锁操作通常至少需要数秒钟的时间,因此在该段时间内,处理单元11通过桌面进程继续执行启动桌面所需的剩余处理以完成终端设备1的桌面的加载。在这种情况下,由于先显示锁屏画面,因此用户会感觉到终端设备1的开机速度加快。经测试,通过上述配置,可以将具有相同配置的终端设备1的开机速度提高至少2秒。
此外,还可以通过其它方式加快终端设备1的开机速度。在现有技术中,在终端设备1开机时的系统服务进程执行期间,系统服务进程中的数据包管理进程(PackageManagerService)会串行扫描终端设备1中所有的应用安装文件(Apk文件)。在数据包管理进程扫描所有的应用安装文件(Apk文件)时,数据包管理进程会首先读取应用安装文件(Apk)中应用程序配置文件(即,AndroidManifest.xml),并且根据程序配置文件解析应用的数据包名、图标,权限,应用所包含事件、服务等等,以供操作系统的后续使用。然后,数据包管理进程会读取应用安装文件中的classes.dex文件,并且将其优化并生成设备1的启动时间减少10秒。
此外,在终端设备1的处理单元11为双核处理器的情况下,处理单元11包括两个处理核心。在这种情况下,在仅读取并解析应用程序安装包中应用程序配置文件时,还可以配置数据包管理进程,使得通过数据包管理进程建立两个扫描进程,并且向该两个处理核心分别分配一个扫描进程,使得处理单元11的两个处理核心可以并行读取并解析应用程序安装包中应用程序配置文件以提高终端设备1的启动速度。此外,还可以通过数据包管理进程建立至少两个的扫描进程(如,8个),使得向该两个处理核心分别分配至少一个扫描进程来读取并解析应用程序安装包中应用程序配置文件。另外,在终端设备11为四核处理器的情况下,还可以通过数据包管理进程建立四个扫描进程,使得处理单元11的四个处理核心分别分配一个扫描进程来并行读取并解析应用程序安装包中应用程序配置文件。
此外,还可以通过其它方式加快终端设备1的开机速度。在现有技术中,在终端设备开始启动之后,终端设备1的处理单元11首先运行操作系统加载程序(Bootloader)。然后,处理单元11在加载完操作系统加载程序之后,通过操作系统加载程序启动操作系统内核程序(Kernel)。然后,处理单元11在该操作系统内核程序启动完成之后,处理单元11启动操作系统虚拟机(Android zygote虚拟机)。这里,操作系统虚拟机可以用于加载终端设备的操作系统运行所需的类文件(class)和各种资源以及系统服务进程(SystemSever进程)。在现有技术中,操作系统虚拟机首先加载终端设备的操作系统运行所需的类文件和各种资源(即,虚拟机中的preload进程处理)。在完成类文件和各种资源的加载之后,操作系统虚拟机才开始启动系统服务进程,此时系统服务进程才能够运行其所包含的各种进程。这里,由于在完成类文件和各种资源的加载之后,操作系统虚拟机才开始启动系统服务进程,因此加载资源以及启动系统服务进程的串行处理会导致终端设备1的开机速度变慢。
针对上述情况,根据本发明的一个实施例,在终端设备开始启动时,处理单元11首先启动操作系统加载程序。然后,处理单元11通过操作系统加载程序启动操作系统内核程序。然后,在操作系统内核程序启动完成之后,处理单元11启动操作系统虚拟机。此时,与现有技术不同,在操作系统虚拟机在加载所需的类文件以及各种资源的同时,处理单元11通过操作系统虚拟对应的odex包,并将所产生的odex包放在终端设备1的缓存中(如,/data/dalvik-cache)以供操作系统中的特定服务或应用执行。此外,数据包管理进程还会读取应用安装文件中的库文件(如,lib库),并且将库文件放置到终端设备的另一个缓存中(如,/data/data/{Pacakge Name}/lib)。这里,数据包管理进程从应用安装文件产生odex包和读取lib库所占用的时间较长,而对于预装在终端设备中的应用安装文件来说,在终端设备的第一次启动扫描对应的应用安装文件时就已经完成,之后也不会对所产生并存储在缓存中的odex包和读取并存储在另一缓存中的lib库做任何修改。此外,对于用户使用终端设备1安装的应用来说,在应用的安装过程中,就已经完成了上述步骤并将odex包和lib库存储在对应的缓存中。因此,只要数据包管理进程成功扫描过所有应用安装文件,终端设备随后的启动过程中,并不需要产生并存储odex包以及读取并存储lib库的处理。
因此,根据本发明的一个实施例,在系统服务进程执行期间,处理单元11通过系统服务进程中的数据包管理进程判断之前是否进行过终端设备中存储的应用程序安装文件的扫描。这里,例如,如果处理单元11确定已经扫描过(如,终端设备第一次启动或安装应用时)终端设备1中存储的所有应用程序安装文件,则处理单元11可以在终端设备1中存储表示已经进行过扫描的标识。在这种情况下,如果处理单元11通过数据包管理进程检测到该标识,则处理单元11通过数据包管理进程判断已经进行过终端设备1中所有应用程序安装文件的扫描。
如果处理单元11通过数据包管理进程判断之前已经进行过应用程序安装包的扫描,则处理单元11通过数据包管理进程仅读取并解析应用程序安装包中应用程序配置文件。也就是说,处理单元11通过数据包管理进程仅读取并解析应用程序安装包中的AndroidManifest.xml文件,并且不进行产生并存储odex包以及读取并存储lib库的处理。此外,在处理单元11通过数据包管理进程判断还未进行过应用程序安装包的扫描,则处理单元11通过数据包管理进程执行与之前的现有技术描述中的处理相同处理。
通过上述方式,由于在终端设备1启动期间省略了数据包管理进程对所有的应用安装文件执行产生并存储odex包以及读取并存储lib库的处理,因此可以大大减少终端设备1的启动时间。特别是在应用数量很大的情况下,终端设备1的开机速度明显加快。经测试,至少可以将具有相同配置的终端机并行启动系统服务进程。这里,具体地,处理单元11可以是双核处理器,并且可以包括两个处理核心。在这种情况下,可以配置操作系统虚拟机中的系统服务进程以及加载类文件和各种资源的进程(preload进程)的执行顺序使得二者可以并行执行。例如,可以将系统服务进程的启动顺序放置在加载类文件和各种资源的进程之前,使得在操作系统虚拟机在加载所需的类文件以及各种资源的同时,处理单元11通过操作系统虚拟机并行启动系统服务进程并且系统服务进程执行对应的处理。这里,由于处理单元11具有两个处理核心,因此在并行建立系统服务进程以及加载类文件和各种资源的进程时,处理单元11的两个处理核心之一被分配了系统服务进程,而另一个处理核心被分配了加载类文件和各种资源的进程。因此,处理单元11的一个处理核心执行操作系统虚拟机加载所需的类文件以及资源的处理,而另一个处理核心执行启动系统服务进程的处理。在这种情况下,系统服务进程以及加载类文件和各种资源的进程的并行处理可以大大提高终端设备1的启动速度。经测试,系统服务进程以及加载类文件和各种资源的进程的并行处理可以至少将具有相同配置的终端设备1的启动时间减少2秒。
下面,将参照图2描述根据本发明另一实施例的终端设备。
如图2所示,根据本发明实施例的终端设备2可以包括处理单元20。这里,处理单元20可以为任意的双核处理器,并且包括两个处理核心200和201。处理核心200以及201均可以在特定的软件或应用的控制下执行预设的处理。这里,可以配置终端设备2的操作系统中的程序代码,使得处理单元20可以执行根据本发明实施例的启动控制方法。下面,以Android操作系统为例进行描述。
与针对图1的描述类似,在现有技术中,在终端设备开始启动之后,首先运行操作系统加载程序。然后,在加载完操作系统加载程序之后,通过操作系统加载程序启动操作系统内核程序。然后,在该操作系统内核程序启动完成之后,启动操作系统虚拟机。这里,在现有技术中,操作系统虚拟机首先加载终端设备的操作系统运行所需的类文件和各种资源(即,虚拟机中的preload进程处理)。在完成类文件和各种资源的加载之后,操作系统虚拟机才开始启动系统服务进程。这里,加载资源以及启动系统服务进程的串行处理会导致终端设备的开机速度变慢。
针对上述情况,根据本发明的一个实施例,在终端设备2开始启动时,处理单元20首先启动操作系统加载程序。然后,处理单元20通过操作系统加载程序启动操作系统内核程序。然后,在操作系统内核程序启动完成之后,处理单元20启动操作系统虚拟机。此时,与现有技术不同,在操作系统虚拟机在加载所需的类文件以及各种资源的同时,处理单元20通过操作系统虚拟机并行启动系统服务进程。这里,处理单元20是双核处理器,并且包括两个处理核心200以及201,因此,可以配置操作系统虚拟机中的系统服务进程以及加载类文件和各种资源的进程(preload进程)的执行顺序使得二者可以并行执行。例如,可以将系统服务进程的启动顺序放置在加载类文件和各种资源的进程之前,使得在操作系统虚拟机在加载所需的类文件以及各种资源的同时,处理单元20通过操作系统虚拟机并行启动系统服务进程并且系统服务进程执行对应的处理。具体地,由于处理单元20具有两个处理核心200以及201,因此在并行建立系统服务进程以及加载类文件和各种资源的进程时,处理单元20的两个处理核心200和201中的一个处理核心被分配了系统服务进程,而另一个处理核心被分配了加载类文件和各种资源的进程。因此,处理单元20的一个处理核心执行操作系统虚拟机加载所需的类文件以及资源的处理,而另一个处理核心执行启动系统服务进程的处理。在这种情况下,系统服务进程以及加载类文件和各种资源的进程的并行处理可以大大提高终端设备1的启动速度。经测试,系统服务进程以及加载类文件和各种资源的进程的并行处理可以至少将具有相同配置的终端设备2的启动时间减少2秒。
此外,还可以通过其它方式加快终端设备1的开机速度。例如,在现有技术中,在终端设备1开机时的系统服务进程执行处理期间,系统服务进程中的数据包管理进程(PackageManagerService)会串行扫描终端设备1中所有的应用安装文件(Apk文件)。在数据包管理进程扫描所有的应用安装文件(Apk文件)时,数据包管理进程会首先读取应用安装文件(Apk)中应用程序配置文件(即,AndroidManifest.xml),并且根据程序配置文件解析应用的数据包名、图标,权限,应用所包含事件、服务等等,以供操作系统的后续使用。然后,数据包管理进程会读取应用安装文件中的classes.dex文件,并且将其优化并生成对应的odex包,并将所产生的odex包放在终端设备1的缓存中(如,/data/dalvik-cache)以供操作系统中的特定服务或应用执行。此外,数据包管理进程还会读取应用安装文件中的库文件(如,lib库),并且将库文件放置到终端设备的另一个缓存中(如,/data/data/{Pacakge Name}/lib)。这里,对于预装在终端设备中的应用安装文件来说,在终端设备的第一次启动扫描对应的应用安装文件时就已经完成产生并存储odex包和读取并存储lib库的处理,之后也不会对存储在缓存中的odex包和存储在另一缓存中的lib库做任何修改。此外,对于用户使用终端设备1安装的应用来说,在应用的安装过程中,就已经完成了上述步骤并将odex包和lib库存储在对应的缓存中。因此,只要数据包管理进程成功扫描过所有应用安装文件,终端设备随后的启动过程中,并不需要产生并存储odex包以及读取并存储lib库的处理。
因此,根据本发明的一个实施例,在系统服务进程执行期间,处理单元20通过系统服务进程中的数据包管理进程判断之前是否进行过终端设备中存储的应用程序安装文件的扫描。这里,例如,如果处理单元20确定已经扫描过(如,终端设备第一次启动或安装应用时)终端设备2中存储的所有应用程序安装文件,则处理单元20可以在终端设备2中存储表示已经进行过扫描的标识。在这种情况下,如果处理单元20通过数据包管理进程检测到该标识,则处理单元20通过数据包管理进程判断已经进行过终端设备2中所有应用程序安装文件的扫描。
如果处理单元20通过数据包管理进程判断之前已经进行过应用程序安装包的扫描,则处理单元20通过数据包管理进程仅读取并解析应用程序安装包中应用程序配置文件。也就是说,处理单元20通过数据包管理进程仅读取并解析应用程序安装包中的AndroidManifest.xml文件,并且不进行产生并存储odex包以及读取并存储lib库的处理。此外,在处理单元20通过数据包管理进程判断还未进行过应用程序安装包的扫描,则处理单元20通过数据包管理进程执行与之前的现有技术描述中的处理相同处理。通过上述方式,由于在终端设备2启动期间省略了数据包管理进程对所有的应用安装文件执行产生并存储odex包以及读取并存储lib库的处理,因此可以大大减少终端设备2的启动时间。特别是在应用数量很大的情况下,终端设备2的开机速度明显加快。经测试,至少可以将具有相同配置的终端设备2的启动时间减少10秒。
此外,由于终端设备2的处理单元20为双核处理器并包括两个处理核心200和201,因此在仅读取并解析应用程序安装包中应用程序配置文件时,还可以配置数据包管理进程,使得通过数据包管理进程建立两个扫描进程,并且向该两个处理核心200和201分别分配一个扫描进程,使得处理单元20的两个处理核心200和201可以并行读取并解析应用程序安装包中应用程序配置文件以提高终端设备2的启动速度。此外,还可以通过数据包管理进程建立至少两个的扫描进程(如,8个),使得向该两个处理核心200和201分别分配至少一个(如,4个)扫描进程来读取并解析应用程序安装包中应用程序配置文件以进一步提高终端设备2的启动速度。
接下来,将参照图3描述根据本发明实施例的启动控制方法。这里,图3的方法可以应用到图1所示的终端设备上。
如图3所示,在步骤S301,在操作系统的系统服务进程启动之前,启动开机动画进程并显示开机动画。
具体地,在操作系统的系统服务进程启动之前,处理单元11首先启动开机动画进程并通过显示单元10显示开机动画。这里,可以在终端设备11运行操作系统加载程序(Bootloader)时启动该开机动画进程。
在步骤S302,在系统服务进程执行期间,通过系统服务进程初始化锁屏进程。
具体地,在系统服务进程执行期间,处理单元11通过系统服务进程初始化锁屏进程。
在步骤S303,在系统服务进程完成锁屏进程的初始化之后,系统服务进程启动桌面进程。
具体地,在处理单元11通过系统服务进程完成锁屏进程的初始化之后,处理单元11通过系统服务进程启动桌面进程。
在步骤S304,在桌面进程执行启动桌面所需的处理期间,系统服务进程停止开机动画进程,并且通知锁屏进程显示锁屏画面,同时桌面进程继续执行启动桌面所需的剩余处理。
具体地,在桌面进程执行启动桌面所需的处理期间,处理单元11通过系统服务进程停止开机动画进程,并且通知锁屏进程显示锁屏画面。此时,处理单元11通过桌面进程继续执行启动桌面所需的剩余处理。
这里,为了实现在桌面进程执行启动桌面所需的处理期间,系统服务进程停止开机动画进程,并且通知锁屏进程显示锁屏画面,同时桌面进程继续执行启动桌面所需的剩余处理的处理,图3的启动控制方法还可以进一步包括:在系统服务进程完成锁屏进程的初始化之后,系统服务进程启动壁纸管理进程;在壁纸管理进程完成壁纸的加载之后,壁纸管理进程向系统服务进程发送壁纸加载完成的消息;在系统服务进程获得壁纸加载完成的消息之后,系统服务进程停止开机动画进程,并且通知锁屏进程显示锁屏画面。
具体地,在系统服务进程完成锁屏进程的初始化之后,处理单元11还通过系统服务进程启动壁纸管理进程来加载终端设备1的壁纸。在壁纸管理进程完成壁纸的加载之后,处理单元11通过壁纸管理进程向系统服务进程发送壁纸加载完成的消息。这里,由于锁屏进程用于通过显示单元10显示透明背景,而锁屏进程的背景为壁纸管理进程所显示的背景图。因此,在壁纸管理进程加载了壁纸之后,锁屏进程就可以显示锁屏画面。在这种情况下,在系统服务进程获得了壁纸加载完成的消息之后,处理单元11通过系统服务进程停止开机动画进程,并且通知锁屏进程显示锁屏画面。此时,由于桌面进程所执行的启动桌面所需的全部处理的时间要远远大于壁纸管理进程加载壁纸的时间,因此在处理单元11通过系统服务进程通知锁屏进程显示锁屏画面,并且锁屏进程通过显示单元10显示锁屏画面时,桌面进程尚未完成启动桌面所需的全部处理。在这种情况下,处理单元11通过桌面进程继续执行启动桌面所需的剩余处理。这里,在终端设备1的用户看到锁屏画面直到终端设备1的用户进行解锁操作通常至少需要数秒钟的时间,因此在该段时间内,处理单元11通过桌面进程继续执行启动桌面所需的剩余处理以完成终端设备1的桌面的加载。
通过上述方式,与现有技术中桌面进程处理完启动桌面所需的所有处理(例如初始化扩展屏、加载图标、加载widget)之后,桌面进程停止开机动画的显示,并且通知锁屏进程显示锁屏画面的处理不同,只要壁纸管理进程完成了壁纸的加载,就通知锁屏进程显示锁屏画面,同时桌面进程继续执行启动桌面所需的剩余处理。在这种情况下,终端设备1的用户可以提前看到终端设备1显示锁屏画面,由此会感到终端设备1的启动速度加快。
此外,还可以通过其它方式加快终端设备1的开机速度。例如,根据本发明的另一个实施例,图3的启动控制方法还可以包括步骤:在系统服务进程执行期间,通过系统服务进程中的数据包管理进程判断之前是否进行过终端设备中存储的应用程序安装包的扫描;如果数据包管理进程判断之前已经进行过应用程序安装包的扫描,则数据包管理进程仅读取并解析应用程序安装包中应用程序配置文件。
具体地,与之前的描述类似,在现有技术中,在终端设备1开机时的系统服务进程执行期间,系统服务进程中的数据包管理进程会串行扫描终端设备1中所有的应用安装文件(AndroidManifest.xml)。在数据包管理进程扫描所有的应用安装文件(Apk文件)时,数据包管理进程会首先读取应用安装文件(Apk)中应用程序配置文件。然后,数据包管理进程会读取应用安装文件中的classes.dex文件,并且将其优化并生成对应的odex包,并将所产生的odex包放在终端设备1的缓存中。此外,数据包管理进程还会读取应用安装文件中的库文件,并且将库文件放置到终端设备的另一个缓存中。这里,在终端设备1扫描过(如,终端设备1第一次开机和安装应用时)对应的应用安装文件时就已经完成产生并存储odex包以及读取并存储lib库的处理,之后也不会存储在缓存中的odex包以及存储在另一缓存中的lib库做任何修改。因此,只要数据包管理进程成功扫描过所有应用安装文件,终端设备随后的启动过程中,并不需要产生并存储odex包以及读取并存储lib库的处理。
因此,根据本发明的一个实施例,在系统服务进程执行期间,处理单元11通过系统服务进程中的数据包管理进程判断之前是否进行过终端设备中存储的应用程序安装文件的扫描。这里,例如,如果处理单元11确定已经扫描过(如,终端设备第一次启动或安装应用时)终端设备1中存储的所有应用程序安装文件,则处理单元11可以在终端设备1中存储表示已经进行过扫描的标识。在这种情况下,如果处理单元11通过数据包管理进程检测到该标识,则处理单元11通过数据包管理进程判断已经进行过终端设备1中所有应用程序安装文件的扫描。如果处理单元11通过数据包管理进程判断之前已经进行过应用程序安装包的扫描,则处理单元11通过数据包管理进程仅读取并解析应用程序安装包中应用程序配置文件。也就是说,处理单元11通过数据包管理进程仅读取并解析应用程序安装包中的AndroidManifest.xml文件,并且不进行产生并存储odex包以及读取并存储lib库的处理。此外,在处理单元11通过数据包管理进程判断还未进行过应用程序安装包的扫描,则处理单元11通过数据包管理进程执行与之前的现有技术描述中的处理相同处理。
通过上述方式,由于在终端设备1启动期间省略了数据包管理进程对所有的应用安装文件执行产生并存储odex包以及读取并存储lib库的处理,因此可以大大减少终端设备1的启动时间。
此外,在终端设备1的处理单元11为双核处理器并包括两个处理核心的情况下,数据包管理进程仅读取并解析应用程序安装包中应用程序配置文件的步骤可以进一步包括:在数据包管理进程仅读取并解析应用程序安装包中应用程序配置文件时,数据包管理进程建立至少两个扫描进程来通过处理单元的两个处理核心并行读取并解析应用程序安装包中应用程序配置文件。
具体地,在仅读取并解析应用程序安装包中应用程序配置文件时,还可以配置数据包管理进程,使得通过数据包管理进程建立两个扫描进程,并且向处理单元11的两个处理核心分别分配一个扫描进程,使得处理单元11的两个处理核心可以并行读取并解析应用程序安装包中应用程序配置文件以提高终端设备1的启动速度。此外,还可以通过数据包管理进程建立至少两个的扫描进程(如,8个),使得向该两个处理核心分别分配至少一个扫描进程来读取并解析应用程序安装包中应用程序配置文件。另外,在终端设备11为四核处理器的情况下,还可以通过数据包管理进程建立四个扫描进程,使得处理单元11的四个处理核心分别分配一个扫描进程来并行读取并解析应用程序安装包中应用程序配置文件。
此外,还可以通过其它方式加快终端设备1的开机速度。例如,根据本发明的另一个实施例,图3的启动控制方法还可以包括步骤:在终端设备开始启动时,启动操作系统加载程序;操作系统加载程序启动操作系统内核程序;在操作系统内核程序启动完成之后,启动操作系统虚拟机;操作系统虚拟机在加载所需的类文件以及资源的同时,操作系统虚拟机并行启动系统服务进程。
具体地,与针对图1的描述类似,在现有技术中,操作系统虚拟机首先加载终端设备的操作系统运行所需的类文件和各种资源(即,虚拟机中的preload进程处理)。在完成类文件和各种资源的加载之后,操作系统虚拟机才开始启动系统服务进程,此时系统服务进程才能够运行其所包含的各种进程。因此加载资源以及启动系统服务进程的串行处理会导致终端设备1的开机速度变慢。针对上述情况,根据本发明的一个实施例,在终端设备开始启动时,处理单元11首先启动操作系统加载程序。然后,处理单元11通过操作系统加载程序启动操作系统内核程序。然后,在操作系统内核程序启动完成之后,处理单元11启动操作系统虚拟机。此时,与现有技术不同,在操作系统虚拟机在加载所需的类文件以及各种资源的同时,处理单元11通过操作系统虚拟机并行启动系统服务进程。这里,具体地,处理单元11可以是双核处理器,并且可以包括两个处理核心。在这种情况下,可以配置操作系统虚拟机中的系统服务进程以及加载类文件和各种资源的进程(preload进程)的执行顺序使得通过处理单元11中的两个处理核心之一执行操作系统虚拟机加载所需的类文件以及资源的处理,并且通过处理单元11中的另一个处理核心执行启动系统服务进程的处理。具体地,由于处理单元11具有两个处理核心,因此在并行建立系统服务进程以及加载类文件和各种资源的进程时,处理单元11的两个处理核心之一被分配了系统服务进程,而另一个处理核心被分配了加载类文件和各种资源的进程。因此,处理单元11的一个处理核心执行操作系统虚拟机加载所需的类文件以及资源的处理,而另一个处理核心执行启动系统服务进程的处理。在这种情况下,系统服务进程以及加载类文件和各种资源的进程的并行处理可以大大提高终端设备1的启动速度。
接下来,将参照图4描述根据本发明另一个实施例的启动控制方法。图4的方法可以应用到图2所示的终端设备2中,其中终端设备2包括处理单元20,并且处理单元20包括两个处理核心200和201。
如图4所示,在步骤S401,在终端设备开始启动时,启动操作系统加载程序。
在步骤S402,操作系统加载程序启动操作系统内核程序。
在步骤S403,在操作系统内核程序启动完成之后,启动操作系统虚拟机。
在步骤S404,操作系统虚拟机在加载所需的类文件以及资源的同时,操作系统虚拟机并行启动系统服务进程,其中通过处理单元中的两个处理核心之一执行操作系统虚拟机加载所需的类文件以及资源的处理,并且通过处理单元中的另一个处理核心执行启动系统服务进程的处理。
具体地,在终端设备2开始启动时,处理单元20首先启动操作系统加载程序。然后,处理单元20通过操作系统加载程序启动操作系统内核程序。在操作系统内核程序启动完成之后,处理单元20启动操作系统虚拟机。此时,与现有技术不同,在操作系统虚拟机在加载所需的类文件以及各种资源的同时,处理单元20通过操作系统虚拟机并行启动系统服务进程。这里,处理单元20是双核处理器,并且包括两个处理核心200以及201,因此,可以配置操作系统虚拟机中的系统服务进程以及加载类文件和各种资源的进程(preload进程)的执行顺序使得二者可以并行执行。例如,可以将系统服务进程的启动顺序放置在加载类文件和各种资源的进程之前,使得在操作系统虚拟机在加载所需的类文件以及各种资源的同时,处理单元20通过操作系统虚拟机并行启动系统服务进程并且系统服务进程执行对应的处理。具体地,由于处理单元20具有两个处理核心200以及201,因此在并行建立系统服务进程以及加载类文件和各种资源的进程时,处理单元20的两个处理核心200和201中的一个处理核心被分配了系统服务进程,而另一个处理核心被分配了加载类文件和各种资源的进程。因此,处理单元20的一个处理核心执行操作系统虚拟机加载所需的类文件以及资源的处理,而另一个处理核心执行启动系统服务进程的处理。
通过上述方式,与现有技术中操作系统虚拟机首先加载终端设备的操作系统运行所需的类文件和各种资源然后才开始启动系统服务进程的串行处理不同。系统服务进程以及加载类文件和各种资源的进程的并行处理可以大大提高终端设备2的启动速度。
此外,还可以通过其它方式加快终端设备2的开机速度。例如图4所示的启动控制方法还可以包括:在系统服务进程执行期间,通过系统服务进程中的数据包管理进程判断之前是否进行过终端设备中存储的应用程序安装包的扫描;如果数据包管理进程判断之前已经进行过应用程序安装包的扫描,则数据包管理进程仅读取并解析应用程序安装包中应用程序配置文件。
具体地,与之前的描述类似,在现有技术中,在终端设备2开机时的系统服务进程执行处理期间,系统服务进程中的数据包管理进程会串行扫描终端设备2中所有的应用安装文件(Apk文件)。在数据包管理进程扫描所有的应用安装文件(Apk文件)时,数据包管理进程会首先读取应用安装文件(Apk)中应用程序配置文件(即,AndroidManifest.xml)。然后,数据包管理进程会读取应用安装文件中的classes.dex文件,并且将其优化并生成对应的odex包,并将所产生的odex包放在终端设备1的缓存中。此外,数据包管理进程还会读取应用安装文件中的库文件(如,lib库),并且将库文件放置到终端设备的另一个缓存中。在终端设备扫描过(如,终端设备的首次开机以及安装应用时)对应的应用安装文件时就已经完成产生并存储odex包和读取并存储lib库的处理,之后也不会对存储在缓存中的odex包和存储在另一缓存中的lib库做任何修改。因此,终端设备随后的启动过程中,并不需要产生并存储odex包以及读取并存储lib库的处理。
在这种情况下,根据本发明的一个实施例,在系统服务进程执行期间,处理单元20通过系统服务进程中的数据包管理进程判断之前是否进行过终端设备中存储的应用程序安装文件的扫描。这里,例如,如果处理单元20确定已经扫描过(如,终端设备第一次启动或安装应用时)终端设备2中存储的所有应用程序安装文件,则处理单元20可以在终端设备2中存储表示已经进行过扫描的标识。在这种情况下,如果处理单元20通过数据包管理进程检测到该标识,则处理单元20通过数据包管理进程判断已经进行过终端设备2中所有应用程序安装文件的扫描。如果处理单元20通过数据包管理进程判断之前已经进行过应用程序安装包的扫描,则处理单元20通过数据包管理进程仅读取并解析应用程序安装包中应用程序配置文件。也就是说,处理单元20通过数据包管理进程仅读取并解析应用程序安装包中的AndroidManifest.xml文件,并且不进行产生并存储odex包以及读取并存储lib库的处理。此外,在处理单元20通过数据包管理进程判断还未进行过应用程序安装包的扫描,则处理单元20通过数据包管理进程执行与之前的现有技术描述中的处理相同处理。
通过上述方式,由于在终端设备2启动期间省略了数据包管理进程对所有的应用安装文件执行产生并存储odex包以及读取并存储lib库的处理,因此可以大大减少终端设备2的启动时间。特别是在应用数量很大的情况下,终端设备2的开机速度明显加快。
此外,由于终端设备2的处理单元20为双核处理器并包括两个处理核心200和201,因此在仅读取并解析应用程序安装包中应用程序配置文件时,还可以配置数据包管理进程,使得通过数据包管理进程建立两个扫描进程,并且向该两个处理核心200和201分别分配一个扫描进程,使得处理单元20的两个处理核心200和201可以并行读取并解析应用程序安装包中应用程序配置文件以提高终端设备2的启动速度。此外,还可以通过数据包管理进程建立至少两个的扫描进程(如,8个),使得向该两个处理核心200和201分别分配至少一个(如,4个)扫描进程来读取并解析应用程序安装包中应用程序配置文件以进一步提高终端设备2的启动速度。
在上面详细描述了本发明的各个实施例。然而,本领域技术人员应该理解,在不脱离本发明的原理和精神的情况下,可对这些实施例进行各种修改,组合或子组合,并且这样的修改应落入本发明的范围内。
Claims (18)
1.一种启动控制方法,应用于终端设备,所述启动控制方法包括:
在操作系统的系统服务进程启动之前,启动开机动画进程并显示开机动画;
在系统服务进程执行期间,通过系统服务进程初始化锁屏进程;
在系统服务进程完成锁屏进程的初始化之后,所述系统服务进程启动桌面进程;
在所述桌面进程执行启动桌面所需的处理期间,所述系统服务进程停止所述开机动画进程,并且通知所述锁屏进程显示所述锁屏画面,同时所述桌面进程继续执行启动桌面所需的剩余处理。
2.如权利要求1所述的方法,进一步包括:
在系统服务进程完成锁屏进程的初始化之后,所述系统服务进程启动壁纸管理进程;
在壁纸管理进程完成壁纸的加载之后,所述壁纸管理进程向所述系统服务进程发送壁纸加载完成的消息;
在所述系统服务进程获得壁纸加载完成的消息之后,所述系统服务进程停止所述开机动画进程,并且通知所述锁屏进程显示所述锁屏画面。
3.如权利要求1所述的启动控制方法,进一步包括:
在系统服务进程执行期间,通过系统服务进程中的数据包管理进程判断之前是否进行过所述终端设备中存储的应用程序安装包的扫描;
如果数据包管理进程判断之前已经进行过所述应用程序安装包的扫描,则所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件。
4.如权利要求3所述的启动控制方法,其中所述终端设备的处理单元至少包括两个处理核心,所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件的步骤进一步包括:
在所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件时,所述数据包管理进程建立至少两个扫描进程来通过所述处理单元的至少两个处理核心并行读取并解析所述应用程序安装包中应用程序配置文件。
5.如权利要求1所述的启动控制方法,进一步包括:
在所述终端设备开始启动时,启动操作系统加载程序;
所述操作系统加载程序启动操作系统内核程序;
在所述操作系统内核程序启动完成之后,启动操作系统虚拟机;
所述操作系统虚拟机在加载所需的类文件以及资源的同时,所述操作系统虚拟机并行启动所述系统服务进程。
6.如权利要求5所述的启动控制方法,其中所述终端设备的处理单元包括至少两个处理核心,所述操作系统虚拟机并行启动所述系统服务进程的步骤进一步包括:
通过所述处理单元中的两个处理核心之一执行所述操作系统虚拟机加载所需的类文件以及资源的处理;以及
通过所述处理单元中的另一个处理核心执行启动所述系统服务进程的处理。
7.一种启动控制方法,应用于终端设备,所述终端设备的处理单元至少包括两个处理核心,所述方法包括
在所述终端设备开始启动时,启动操作系统加载程序;
所述操作系统加载程序启动操作系统内核程序;
在所述操作系统内核程序启动完成之后,启动操作系统虚拟机;
所述操作系统虚拟机在加载所需的类文件以及资源的同时,所述操作系统虚拟机并行启动所述系统服务进程,
其中通过所述处理单元中的两个处理核心之一执行所述操作系统虚拟机加载所需的类文件以及资源的处理;以及
通过所述处理单元中的另一个处理核心执行启动所述系统服务进程的处理。
8.如权利要求7所述的启动控制方法,进一步包括:
在系统服务进程执行期间,通过系统服务进程中的数据包管理进程判断之前是否进行过所述终端设备中存储的应用程序安装包的扫描;
如果数据包管理进程判断之前已经进行过所述应用程序安装包的扫描,则所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件。
9.如权利要求8所述的启动控制方法,其中
在所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件时,所述数据包管理进程建立至少两个扫描进程来通过所述处理单元的至少两个处理核心并行读取并解析所述应用程序安装包中应用程序配置文件。
10.一种终端设备,包括:
显示单元,配置来显示画面;
处理单元,配置来在所述终端设备的启动过程期间,在操作系统的系统服务进程启动之前,启动开机动画进程并通过所述显示单元显示开机动画;在系统服务进程执行期间,通过系统服务进程初始化锁屏进程;在系统服务进程完成锁屏进程的初始化之后,通过所述系统服务进程启动桌面进程;在所述桌面进程执行启动桌面所需的处理期间,通过所述系统服务进程停止所述开机动画进程,并且通知所述锁屏进程显示所述锁屏画面,同时通过所述桌面进程继续执行启动桌面所需的剩余处理。
11.如权利要求10所述的终端设备,其中
在系统服务进程完成锁屏进程的初始化之后,所述处理单元通过所述系统服务进程启动壁纸管理进程;以及
在壁纸管理进程完成壁纸的加载之后,所述处理单元通过所述壁纸管理进程向所述系统服务进程发送壁纸加载完成的消息;
在所述系统服务进程获得壁纸加载完成的消息之后,所述处理单元通过所述系统服务进程停止所述开机动画进程,并且通知所述锁屏进程显示所述锁屏画面。
12.如权利要求10所述的终端设备,其中:
在系统服务进程执行期间,所述处理单元通过系统服务进程中的数据包管理进程判断之前是否进行过所述终端设备中存储的应用程序安装包的扫描;
如果数据包管理进程判断之前已经进行过所述应用程序安装包的扫描,则所述处理单元通过所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件。
13.如权利要求12所述的终端设备,其中
所述终端设备的处理单元至少包括两个处理核心;以及
在仅读取并解析所述应用程序安装包中应用程序配置文件时,所述处理单元通过所述数据包管理进程建立至少两个扫描进程,使得所述处理单元的至少两个处理核心并行读取并解析所述应用程序安装包中应用程序配置文件。
14.如权利要求10所述的终端设备,其中:
在所述终端设备开始启动时,所述处理单元启动操作系统加载程序;
所述处理单元通过所述操作系统加载程序启动操作系统内核程序;
在所述操作系统内核程序启动完成之后,所述处理单元启动操作系统虚拟机;
所述操作系统虚拟机在加载所需的类文件以及资源的同时,所述处理单元通过所述操作系统虚拟机并行启动所述系统服务进程。
15.如权利要求14所述的终端设备,其中
所述处理单元包括至少两个处理核心:以及
所述处理单元中的两个处理核心之一执行所述操作系统虚拟机加载所需的类文件以及资源的处理;以及
通过所述处理单元中的另一个处理核心执行启动所述系统服务进程的处理。
16.一种终端设备,包括:
处理单元,包括至少两个处理核心,并且配置来执行所述终端设备的启动控制,其中
在所述终端设备开始启动时,所述处理单元启动操作系统加载程序;
所述处理单元通过所述操作系统加载程序启动操作系统内核程序;
在所述操作系统内核程序启动完成之后,所述处理单元启动操作系统虚拟机;
所述操作系统虚拟机在加载所需的类文件以及资源的同时,所述处理单元通过所述操作系统虚拟机并行启动所述系统服务进程,
其中通过所述处理单元中的两个处理核心之一执行所述操作系统虚拟机加载所需的类文件以及资源的处理;以及
通过所述处理单元中的另一个处理核心执行启动所述系统服务进程的处理。
17.如权利要求16所述的终端设备,其中
在系统服务进程执行期间,所述处理单元通过系统服务进程中的数据包管理进程判断之前是否进行过所述终端设备中存储的应用程序安装包的扫描;
如果数据包管理进程判断之前已经进行过所述应用程序安装包的扫描,则所述处理单元通过所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件。
18.如权利要求17所述的终端设备,其中
在所述数据包管理进程仅读取并解析所述应用程序安装包中应用程序配置文件时,所述处理单元通过所述数据包管理进程建立至少两个扫描进程,使得通过所述处理单元的至少两个处理核心并行读取并解析所述应用程序安装包中应用程序配置文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210366352.XA CN103699398B (zh) | 2012-09-27 | 2012-09-27 | 终端设备及其启动控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210366352.XA CN103699398B (zh) | 2012-09-27 | 2012-09-27 | 终端设备及其启动控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103699398A true CN103699398A (zh) | 2014-04-02 |
CN103699398B CN103699398B (zh) | 2018-06-01 |
Family
ID=50360937
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210366352.XA Active CN103699398B (zh) | 2012-09-27 | 2012-09-27 | 终端设备及其启动控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699398B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035798A (zh) * | 2014-06-14 | 2014-09-10 | 青岛歌尔声学科技有限公司 | 一种能够有序开机的多功能电子设备及其开机方法 |
CN104636165A (zh) * | 2015-02-02 | 2015-05-20 | 广东小天才科技有限公司 | 移动设备启动方法及装置 |
CN105138382A (zh) * | 2015-09-24 | 2015-12-09 | 广东欧珀移动通信有限公司 | 一种Android系统升级的方法及终端 |
CN105335199A (zh) * | 2015-11-13 | 2016-02-17 | 北京金山安全软件有限公司 | 桌面壁纸设置方法、装置及终端设备 |
CN105389174A (zh) * | 2014-09-04 | 2016-03-09 | Tcl集团股份有限公司 | 一种基于移动操作系统的应用程序加速启动方法及系统 |
CN105867965A (zh) * | 2015-12-18 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 一种基于Android系统的播放开机视频的方法及系统 |
CN106201469A (zh) * | 2016-06-28 | 2016-12-07 | 北京金山安全软件有限公司 | 一种动态效果的控制方法及装置、用户终端 |
CN106775644A (zh) * | 2016-11-23 | 2017-05-31 | 北京小米移动软件有限公司 | 文件运行方法及设备 |
CN107220055A (zh) * | 2017-05-26 | 2017-09-29 | 上海展扬通信技术有限公司 | 用于终端启动的方法、系统及终端 |
CN108519894A (zh) * | 2018-03-21 | 2018-09-11 | 北京酷我科技有限公司 | 一种音乐盒加载初始化的方法 |
CN109195018A (zh) * | 2018-08-28 | 2019-01-11 | 四川长虹电器股份有限公司 | 用于Android智能电视的加速系统启动的方法 |
CN109710341A (zh) * | 2017-10-23 | 2019-05-03 | Tcl集团股份有限公司 | 锁屏控制方法、锁屏控制装置及智能终端 |
CN110413321A (zh) * | 2018-04-28 | 2019-11-05 | 珠海全志科技股份有限公司 | 一种Android系统快速启动方法及装置 |
CN110557682A (zh) * | 2019-09-26 | 2019-12-10 | 四川长虹电器股份有限公司 | 基于双核启动的智能电视快速开机方法及双核智能电视 |
CN111343329A (zh) * | 2020-05-22 | 2020-06-26 | 北京小米移动软件有限公司 | 锁屏显示控制方法、装置及存储介质 |
CN112016693A (zh) * | 2019-05-30 | 2020-12-01 | 中兴通讯股份有限公司 | 机器学习引擎实现方法及装置、终端设备、存储介质 |
CN112035172A (zh) * | 2020-09-03 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 操作系统启动方法、装置、服务器及存储介质 |
CN113672339A (zh) * | 2021-07-28 | 2021-11-19 | 歌尔光学科技有限公司 | 提升Android开机效率的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801831A (zh) * | 2004-12-30 | 2006-07-12 | 上海贝豪通讯电子有限公司 | 加快手机启动响应速度的方法 |
CN1818868A (zh) * | 2006-03-10 | 2006-08-16 | 浙江大学 | 嵌入式操作系统多任务并行启动优化实现方法 |
-
2012
- 2012-09-27 CN CN201210366352.XA patent/CN103699398B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1801831A (zh) * | 2004-12-30 | 2006-07-12 | 上海贝豪通讯电子有限公司 | 加快手机启动响应速度的方法 |
CN1818868A (zh) * | 2006-03-10 | 2006-08-16 | 浙江大学 | 嵌入式操作系统多任务并行启动优化实现方法 |
Non-Patent Citations (2)
Title |
---|
MARS_FU_2: "Android开机启动流程", 《HTTP://WENKU.BAIDU.COM/VIEW/42EBF459BE23482FB4DA4C33.HTML》 * |
于海航: "基于android的嵌入式设备优化研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035798A (zh) * | 2014-06-14 | 2014-09-10 | 青岛歌尔声学科技有限公司 | 一种能够有序开机的多功能电子设备及其开机方法 |
CN104035798B (zh) * | 2014-06-14 | 2017-04-26 | 青岛歌尔声学科技有限公司 | 一种能够有序开机的多功能电子设备及其开机方法 |
CN105389174A (zh) * | 2014-09-04 | 2016-03-09 | Tcl集团股份有限公司 | 一种基于移动操作系统的应用程序加速启动方法及系统 |
CN104636165A (zh) * | 2015-02-02 | 2015-05-20 | 广东小天才科技有限公司 | 移动设备启动方法及装置 |
CN105138382B (zh) * | 2015-09-24 | 2019-02-05 | Oppo广东移动通信有限公司 | 一种Android系统升级的方法及终端 |
CN105138382A (zh) * | 2015-09-24 | 2015-12-09 | 广东欧珀移动通信有限公司 | 一种Android系统升级的方法及终端 |
CN105335199A (zh) * | 2015-11-13 | 2016-02-17 | 北京金山安全软件有限公司 | 桌面壁纸设置方法、装置及终端设备 |
CN105867965A (zh) * | 2015-12-18 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 一种基于Android系统的播放开机视频的方法及系统 |
CN106201469A (zh) * | 2016-06-28 | 2016-12-07 | 北京金山安全软件有限公司 | 一种动态效果的控制方法及装置、用户终端 |
CN106201469B (zh) * | 2016-06-28 | 2020-01-03 | 北京金山安全软件有限公司 | 一种动态效果的控制方法及装置、用户终端 |
CN106775644A (zh) * | 2016-11-23 | 2017-05-31 | 北京小米移动软件有限公司 | 文件运行方法及设备 |
US10824410B2 (en) | 2016-11-23 | 2020-11-03 | Beijing Xiaomi Mobile Software Co., Ltd. | Method and equipment for executing a file |
CN106775644B (zh) * | 2016-11-23 | 2020-03-17 | 北京小米移动软件有限公司 | 文件运行方法及设备 |
CN107220055B (zh) * | 2017-05-26 | 2024-03-29 | 上海传英信息技术有限公司 | 用于终端启动的方法、系统及终端 |
CN107220055A (zh) * | 2017-05-26 | 2017-09-29 | 上海展扬通信技术有限公司 | 用于终端启动的方法、系统及终端 |
CN109710341A (zh) * | 2017-10-23 | 2019-05-03 | Tcl集团股份有限公司 | 锁屏控制方法、锁屏控制装置及智能终端 |
CN108519894A (zh) * | 2018-03-21 | 2018-09-11 | 北京酷我科技有限公司 | 一种音乐盒加载初始化的方法 |
CN108519894B (zh) * | 2018-03-21 | 2021-06-01 | 北京酷我科技有限公司 | 一种音乐盒加载初始化的方法 |
CN110413321A (zh) * | 2018-04-28 | 2019-11-05 | 珠海全志科技股份有限公司 | 一种Android系统快速启动方法及装置 |
CN109195018A (zh) * | 2018-08-28 | 2019-01-11 | 四川长虹电器股份有限公司 | 用于Android智能电视的加速系统启动的方法 |
CN112016693A (zh) * | 2019-05-30 | 2020-12-01 | 中兴通讯股份有限公司 | 机器学习引擎实现方法及装置、终端设备、存储介质 |
CN110557682A (zh) * | 2019-09-26 | 2019-12-10 | 四川长虹电器股份有限公司 | 基于双核启动的智能电视快速开机方法及双核智能电视 |
CN111343329B (zh) * | 2020-05-22 | 2020-09-08 | 北京小米移动软件有限公司 | 锁屏显示控制方法、装置及存储介质 |
CN111343329A (zh) * | 2020-05-22 | 2020-06-26 | 北京小米移动软件有限公司 | 锁屏显示控制方法、装置及存储介质 |
US11449187B2 (en) | 2020-05-22 | 2022-09-20 | Beijing Xiaomi Mobile Software Co., Ltd. | Lockscreen display control method and device, and storage medium |
CN112035172A (zh) * | 2020-09-03 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 操作系统启动方法、装置、服务器及存储介质 |
CN112035172B (zh) * | 2020-09-03 | 2022-05-17 | 腾讯科技(深圳)有限公司 | 操作系统启动方法、装置、服务器及存储介质 |
CN113672339A (zh) * | 2021-07-28 | 2021-11-19 | 歌尔光学科技有限公司 | 提升Android开机效率的方法 |
CN113672339B (zh) * | 2021-07-28 | 2024-04-16 | 歌尔科技有限公司 | 提升Android开机效率的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103699398B (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103699398A (zh) | 终端设备及其启动控制方法 | |
CN101222709B (zh) | 一种手机应用程序快速启动的方法 | |
US20160328241A1 (en) | Data processing method for multiple operating systems and terminal equipment | |
CN110874236B (zh) | 一种跨平台应用装置、终端及存储介质 | |
CN106201574B (zh) | 一种应用界面的启动方法及装置 | |
CN105630543A (zh) | 一种应用冷启动加速的方法及装置 | |
CN110442327B (zh) | 一种应用程序构建方法、装置、服务器 | |
CN103914450A (zh) | 移动终端平台中网页图片呈现方法和装置 | |
CN104375872A (zh) | 一种安卓系统实现快速开机的方法及装置 | |
CN104657258B (zh) | 一种向目标进程内注入Java字节码的方法及装置 | |
WO2014173141A1 (en) | Method of switching desktop subjects of mobile terminal and its switching apparatus | |
CN107291481B (zh) | 一种组件更新方法、装置和系统 | |
US20130054951A1 (en) | Software execution method and electronic device using the same | |
CN109388473A (zh) | 基于移动操作系统的Android兼容层实现方法和系统 | |
CN104679548A (zh) | 一种信息处理的方法及电子设备 | |
CN110908734A (zh) | 基于插件化的应用组合方法、装置、终端设备及存储介质 | |
CN106095439A (zh) | 一种信息处理方法及电子设备 | |
CN102262555B (zh) | 加载java三方库的不同版本的方法和装置 | |
CN107861742A (zh) | 一种程序的运行方法和终端设备 | |
CN108563472B (zh) | 基于多开应用的服务插件加载方法及装置 | |
CN103002343A (zh) | 电视快速开机的方法及系统 | |
CN110750284B (zh) | 一种应用快速启动方法、终端及计算机可读存储介质 | |
CN103870298A (zh) | 切换方法和电子设备 | |
CN103544039A (zh) | 插件加载处理方法和装置 | |
US20140325535A1 (en) | Method of switching desktop subjects of mobile terminal and its switching apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |