【技术实现步骤摘要】
一种应用启动方法及电子设备
本申请涉及终端
,尤其涉及一种应用启动方法及电子设备。
技术介绍
手机等电子设备中安装的各类应用(Application,APP)已经广泛应用在用户的日常生活中。以手机举例,从用户点击应用的启动图标开始直到手机运行应用的代码后显示出该应用的第一帧画面的这段时间可称为应用的启动时间。启动时间的快慢直接影响用户对该应用的使用体验,也是评价手机性能的重要指标之一。在应用启动时,如果手机后台没有该应用的进程(process),则手机系统需要重新创建一个新的进程分配给该应用,这种启动方式可称为冷启动。在冷启动过程中手机需要创建应用的应用进程,在应用进程的主线程(ActivityThread)中执行main函数,并通过创建应用进程的类加载器(Classloader)将应用的类(class)文件加载至手机的内存中,这使得应用在冷启动时耗费的启动时间较长,用户打开应用时的使用体验不高。
技术实现思路
本申请提供一种应用启动方法及电子设备,可缩短应用冷启动时耗费的启动时间,提高用户打开应用时的使用体验。为达到上述目的,本申请采用如下技术方案:第一方面,本申请提供一种应用启动方法,包括:电子设备中的系统服务(SystemServer)进程可获取第一应用的启动消息;响应于该启动消息,系统服务进程可向守护进程(例如Zygote进程)发送应用进程的创建请求,该创建请求中包括第一应用的应用信息;响应于该创建请求,守护进程可为第一应用创建应用进程,该应用进程包括第一线程 ...
【技术保护点】
1.一种应用启动方法,其特征在于,包括:/n电子设备中的系统服务进程获取第一应用的启动消息;/n响应于所述启动消息,所述电子设备中的系统服务进程向守护进程发送应用进程的创建请求,所述创建请求中包括所述第一应用的应用信息;/n响应于所述创建请求,所述电子设备中的守护进程为所述第一应用创建应用进程,所述应用进程包括第一线程和第二线程;/n所述应用进程并行地执行所述第一线程和所述第二线程,其中,所述第一线程执行对所述第一应用的主线程的初始化,所述第二线程根据所述应用信息创建第一类加载器加载所述第一应用的类文件;/n所述应用进程开始运行所述第一应用的代码,以显示所述第一应用的应用界面。/n
【技术特征摘要】
1.一种应用启动方法,其特征在于,包括:
电子设备中的系统服务进程获取第一应用的启动消息;
响应于所述启动消息,所述电子设备中的系统服务进程向守护进程发送应用进程的创建请求,所述创建请求中包括所述第一应用的应用信息;
响应于所述创建请求,所述电子设备中的守护进程为所述第一应用创建应用进程,所述应用进程包括第一线程和第二线程;
所述应用进程并行地执行所述第一线程和所述第二线程,其中,所述第一线程执行对所述第一应用的主线程的初始化,所述第二线程根据所述应用信息创建第一类加载器加载所述第一应用的类文件;
所述应用进程开始运行所述第一应用的代码,以显示所述第一应用的应用界面。
2.根据权利要求1所述的方法,其特征在于,所述应用信息中记录有第一类加载器的标识;
其中,所述第二线程根据所述应用信息创建第一类加载器加载所述第一应用的类文件,包括:
所述第二线程根据所述第一类加载器的标识创建第一类加载器,并使用所述第一类加载器加载所述第一应用的第一类文件。
3.根据权利要求2所述的方法,其特征在于,所述应用信息中还记录有第二类加载器的标识;所述应用进程中还包括第三线程;
其中,在所述应用进程并行地执行所述第一线程和所述第二线程时,还包括;
所述第三线程根据所述第二类加载器的标识创建第二类加载器,并使用所述第二类加载器加载所述第一应用的第二类文件。
4.根据权利要求2所述的方法,其特征在于,所述应用信息中还记录有第二类加载器的标识,所述第二类加载器依赖于所述第一类加载器;所述应用进程中还包括第三线程;所述方法还包括:
当所述第三线程获取到所述第二线程释放的对象锁后,所述第三线程根据所述第二类加载器的标识创建第二类加载器,并使用所述第二类加载器加载所述第一应用的第二类文件。
5.根据权利要求2所述的方法,其特征在于,所述应用信息中还记录有第二类加载器的标识;
其中,在所述第二线程根据所述第一类加载器的标识创建第一类加载器,并使用所述第一类加载器加载所述第一应用的第一类文件之后,还包括:
所述第二线程根据所述第二类加载器的标识创建第二类加载器,并使用所述第二类加载器加载所述第一应用的第二类文件。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述应用进程开始运行所述第一应用的代码,包括:
当所述第一线程获取到所述第二线程释放的对象锁后,所述应用进程开始运行所述第一应用的代码。
7.根据权利要求1-6中任一项所述的方法,其特征在于,在所述电子设备中的系统服务进程向守护进程发送应用进程的创建请求之前,还包括:
所述系统服务进程从所述第一应用的APK文件中获取所述第一应用的应用信息;
所述系统服务进程将所述应用信息添加至所述应用进程的创建请求中。
8.根据权利要求2-7中任一项所述的方法,其特征在于,所述第一线程为所述应用进程的主线程,所述第二线程为所述应用进程的临时线程;
其中,在所述电子设备中的守护进程为所述第一应用创建应用进程后,还包括:
所述主线程创建所述临时线程,并将所述第一类加载器的标识分配给所述临时线程。
9.根据权利要求1-8中任一项所述的方法,其特征在于,所述电子设备中的系统服务进程获取所述第一应用的启动消息,包括:
响应于用户点击所述第一应用的启动图标的操作,所...
【专利技术属性】
技术研发人员:孙文涌,任玉林,韩风,程飞飞,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。