一种应用程序冷启动加速方法、装置、电子设备与流程

文档序号:17924724发布日期:2019-06-15 00:20阅读:168来源:国知局
一种应用程序冷启动加速方法、装置、电子设备与流程

本发明涉及计算机技术领域,尤其涉及一种应用程序冷启动加速方法、装置、电子设备及可读介质。



背景技术:

应用程序(application,app)冷启动是指软件从关闭状态到打开状态的过程。应用程序冷启动是相对于热启动而言的,冷启动是指启动应用时,操作系统(例如安卓操作系统)中不存在应用的进程,这时系统会为应用创建一个新的进程。相对而言,热启动是指启动应用时,系统中已经存在应用的进程。通常来讲,热启动速度要比冷启动速度快。

通常,每个应用程序的进程中存在多个线程,除了一些应用自身创建的线程外,还包括一些系统自动创建的线程,例如heaptaskdaemon线程,jit线程,finalizerdaemon线程等,这些线程各自有不同的作用,它们共同保证应用能够正常并且高效地运行。

一个进程中的每一个线程都会占用cpu等资源。如果在冷启动应用程序时,该应用程序对应的进程中运行多个线程,将会导致启动应用程序的时间较长,影响用户体验。



技术实现要素:

本发明实施例提供了一种应用程序冷启动加速方法、装置、电子设备及可读介质,以缩短冷启动应用程序的时间,改善用户体验。

第一方面,本发明实施例提供了一种应用程序冷启动加速方法,包括:响应于接收到用于指示冷启动预设应用程序的指令,创建所述预设应用程序对应的第一进程,其中,所述第一进程包括一个主线程和除主线程之外的第一进程所需的至少一个其他线程;所述第一进程继续启动,其中启动内容包含利用所述主线程创建所述预设应用程序的对象以及所述预设应用程序其他冷启动初始化操作;到达预设抑制时机时,创建第二进程,所述第二进程内包括一个线程;利用所述第二进程中的线程对所述第一进程对应的预设目标线程执行抑制操作,所述预设目标线程包括所述除主线程之外的第一进程所需的至少一个其他线程,其中创建第二进程的线程为第一进程中的线程,到达预设抑制时机时,执行创建的线程暂停当前执行内容,创建完成后继续原执行内容。

可选地,所述除主线程之外的第一进程所需的至少一个其他线程,包括:jit线程、idle线程以及其他线程。

可选地,所述预设应用程序的对象,包括:本应用程序自身定义的应用程序对象,或者由系统创建默认的应用程序对象。

可选地,所述预设目标线程,包括:所述的第一进程中除主线程以外任何一个不影响所述预设应用冷启动的线程。

可选地,所述方法还包括:在创建所述预设应用程序对应的第一进程后,在创建所述第二进程之前,获取预设目标线程id。

可选地,所述预设抑制时机,是所述第一进程主线程创建后的任意时机,包括但不限于:在自定义application类的静态初始化代码块中;在自定义application的构造方法中;在自定义application的attachbasecontext方法中;在自定义application的oncreate方法中;在首个activity的构造方法中;在首个activity的oncreate方法中。

可选地,创建第二进程,所述第二进程内包括一个线程,包括:调用clone创建helper进程为所述第二进程以及helper线程为所述第二进程中的一个线程。

可选地,所述利用所述第二进程中的线程对所述第一进程对应的预设目标线程执行抑制操作,包括:所述第二进程中的线程对所述第一进程对应的预设目标线程执行延迟操作。

可选地,所述的抑制操作是直接sleep。

可选地,所述延迟操作的延迟时间为3秒、5秒或7秒等。

可选地,所述获取预设目标线程id,包括:通过读取/proc/[pid]/task文件夹,获取第一进程内的所有线程的threadid,然后针对每个线程,通过读取其对应的/proc/[tid]/comm文件获取其名字,根据预设目标现成的名字获取预设目标线程的threadid。

可选地,所述利用所述第二进程中的线程对所述第一进程对应的预设目标线程执行抑制操作,所述预设目标线程包括所述除主线程之外的第一进程所需的至少一个其他线程,包括:所述第二线程的helper线程调用ptrace,第一个参数为ptrace_attach,第二个参数为预设目标线程的threadid,第三和第四个参数均使用null;ptrace调用成功后,helper线程调用waitpid,将预设目标线程的threadid作为第一个参数。

可选地,所述方法还包括:当被抑制的预设目标线程符合唤醒条件时,利用系统工具,唤醒被抑制的预设目标线程,执行第一进程中被抑制的预设目标线程的正常流程,结束第二进程。

可选地,所述当被抑制的预设目标线程符合唤醒条件时,利用系统工具,唤醒被抑制的预设目标线程,执行第一进程中被抑制的预设目标线程的正常流程,结束第二进程,包括:所述唤醒条件为收到主线程通知唤醒、sleep时间结束或被其他线程唤醒;利用系统工具,执行第一进程中被抑制的预设目标线程的正常流程,所述第二进程的线程退出,释放第二进程的所有资源,结束第二进程。

可选地,所述当被抑制的预设目标线程符合唤醒条件时,利用系统工具,唤醒被抑制的预设目标线程,执行第一进程中被抑制的预设目标线程的正常流程,结束第二进程,包括:所述唤醒条件为收到主线程通知唤醒、sleep时间结束或被其他线程唤醒;所述第二进程为helper进程,第二进程的线程为helper线程;所述第二线程的helper线程再次调用ptrace过程中第一个参数为ptrace_detach,第二个参数为被抑制预设目标线程的threadid,第三和第四个参数均使用null,ptrace调用成功后,被抑制预设目标线程恢复,继续执行正常的线程流程,helper线程退出,释放helper进程的所有资源,结束helper进程。

第二方面,本发明实施例提供了一种应用程序冷启动加速装置,包括:第一进程创建单元,配置用于响应于接收到用于指示冷启动预设应用程序的指令,创建所述预设应用程序对应的第一进程,其中,所述第一进程包括一个主线程和除主线程之外的第一进程所需的至少一个其他线程;第一进程继续启动单元,配置用于继续启动第一进程,其中启动内容包含利用所述主线程创建所述预设应用程序的对象以及所述预设应用程序其他冷启动初始化操作;第二进程创建单元,配置用于到达预设抑制时机时,创建第二进程,所述第二进程内包括一个线程;抑制预设目标线程单元,配置用于利用所述第二进程中的线程对所述第一进程对应的预设目标线程执行抑制操作,所述预设目标线程包括所述除主线程之外的第一进程所需的至少一个其他线程;其中创建第二进程的线程为第一进程中的线程,到达预设抑制时机时,执行创建的线程暂停当前执行内容,创建完成后继续原执行内容。

可选地,所述除主线程之外的第一进程所需的至少一个其他线程,包括:jit线程、idle线程以及其他线程。

可选地,所述预设应用程序的对象,包括:本应用程序自身定义的应用程序对象,或者由系统创建默认的应用程序对象。

可选地,所述预设目标线程,包括:所述的第一进程中除主线程以外任何一个不影响所述预设应用冷启动的线程。

可选地,所述装置还包括,预设目标线程id获取单元,所述预设目标线程id获取单元配置用于:在创建所述预设应用程序对应的第一进程后,在创建所述第二进程之前,获取预设目标线程id。

可选地,所述预设抑制时机,是所述第一进程主线程创建后的任意时机,包括但不限于:在自定义application类的静态初始化代码块中;在自定义application的构造方法中;在自定义application的attachbasecontext方法中;在自定义application的oncreate方法中;在首个activity的构造方法中;在首个activity的oncreate方法中。

可选地,所述第二进程创建单元进一步配置用于:调用clone创建helper进程为所述第二进程以及helper线程为所述第二进程中的一个线程。

可选地,所述利用所述第二进程中的线程对所述第一进程对应的预设目标线程执行抑制操作,包括:所述第二进程中的线程对所述第一进程对应的预设目标线程执行延迟操作。

可选地,所述的延迟操作是直接sleep。

可选地,所述延迟操作的延迟时间为3秒、5秒或7秒。

可选地,所述预设目标线程id获取单元进一步配置用于:通过读取/proc/[pid]/task文件夹,获取第一进程内的所有线程的threadid,然后针对每个线程,通过读取其对应的/proc/[tid]/comm文件获取其名字,根据预设目标现成的名字获取预设目标线程的threadid。

可选地,所述抑制预设目标线程单元进一步配置用于:所述第二线程的helper线程调用ptrace,第一个参数为ptrace_attach,第二个参数为预设目标线程的threadid,第三和第四个参数均使用null;ptrace调用成功后,helper线程调用waitpid,将预设目标线程的threadid作为第一个参数。

可选地,所述装置还包括,唤醒抑制单元,所述唤醒抑制单元配置用于:当被抑制的预设目标线程符合唤醒条件时,利用系统工具,唤醒被抑制的预设目标线程,执行第一进程中被抑制的预设目标线程的正常流程,结束第二进程。

可选地,所述唤醒抑制单元进一步配置用于:所述唤醒条件为收到主线程通知唤醒、sleep时间结束或被其他线程唤醒;当被抑制的预设目标线程符合唤醒条件时,利用系统工具,执行第一进程中被抑制的预设目标线程的正常流程,所述第二进程的线程退出,释放第二进程的所有资源,结束第二进程。

可选地,所述唤醒抑制单元进一步配置用于:所述唤醒条件为收到主线程通知唤醒、sleep时间结束或被其他线程唤醒;所述第二进程为helper进程,第二进程的线程为helper线程;当被抑制的预设目标线程符合唤醒条件时,所述第二线程的helper线程再次调用ptrace过程中第一个参数为ptrace_detach,第二个参数为被抑制预设目标线程的threadid,第三和第四个参数均使用null,ptrace调用成功后,被抑制预设目标线程恢复,继续执行正常的线程流程,helper线程退出,释放helper进程的所有资源,结束helper进程。

第三方面,本发明实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被所述一个或多个处理器执行,使得一个或多个处理器实现上述任意一种应用程序冷启动加速方法的步骤。

第四方面,本发明实施例提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现上述任意一种应用程序冷启动加速方法的步骤。

本发明实施例提供的应用程序冷启动的加速方法、装置、电子设备和可读介质,通过首先响应于接收到用于指示冷启动预设应用程序的指令,创建所述预设应用程序对应的第一进程,其中,所述第一进程包括一个主线程和除主线程之外的第一进程所需的至少一个其他线程;之后所述第一进程继续启动,其中启动内容包含利用所述主线程创建所述预设应用程序的对象以及所述预设应用程序其他冷启动初始化操作;当到达预设抑制时机时,创建第二进程,所述第二进程内包括一个线程;利用所述第二进程中的线程对所述第一进程对应的预设目标线程执行抑制操作,所述预设目标线程包括所述除主线程之外的第一进程所需的至少一个其他线程;其中创建第二进程的线程为第一进程中的线程,到达预设抑制时机时,执行创建的线程暂停当前执行内容,创建完成后继续原执行内容。实现了在冷启动预设应用程序时,通过第二进程中的线程来抑制预设应用程序对应的预设目标线程运行,从而可以将由抑制预设目标线程的运行而节省的资源分配给启动预设应用程序必备的线程,以达到加速启动预设应用程序的目的,改善用户体验。

附图说明

附图用于更好地理解本发明,不构成对本发明的不当限定。其中:

图1是根据本发明的应用程序冷启动的加速方法的一个实施例的流程图;

图2是根据本发明的应用程序冷启动的加速方法的又一个实施例的流程图;

图3是根据本发明的应用程序冷启动的加速装置的一个实施例的结构示意图;

图4是根据本发明的应用程序冷启动的加速方法的流程示意图;

图5是根据本发明实施例提供的电子设备的基本结构的示意图。

具体实施方式

以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解。应当将它们认为仅仅是示范性的。因此本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

请参考图1,图1其示出了根据本发明的应用程序冷启动加速方法的一个实施例的流程图。如图1所示,该应用程序冷启动加速方法,包括以下步骤:

步骤101,响应于接收到用于指示冷启动预设应用程序的指令,创建所述预设应用程序对应的第一进程。

在本实施例中,用户可以向系统发出冷启动预设应用程序的指令,也可是系统自主发出的冷启动预设应用程序的指令。

响应于接收到用于指示冷启动预设应用程序的指令,系统为应用创建第一进程,该第一进程包括一个主线程和除主线程之外的第一进程所需的至少一个其他线程,其中除主线程之外的第一进程所需的至少一个其他线程可以包括jit线程、idle线程等线程。上述其中线程中有一个或多个线程可作为预设目标线程。

步骤102,第一进程继续启动,其中启动内容包含利用所述主线程创建所述预设应用程序的对象以及所述预设应用程序其他冷启动初始化操作。

在本实施例中,第一进程的主线程为预设应用程序创建一个application的对象,该对象可以是加载本应用自身定义的application类后创建的一个该类的对象;如果无预设应用程序自身定义的application类,由系统创建默认的application对象。

步骤103,到达预设抑制时机时,创建第二进程,所述第二进程内包括一个线程。

其中创建第二进程的线程为第一进程中的线程,到达预设抑制时机时,执行创建的线程暂停当前执行内容,创建完成后继续原执行内容。

在本实施例中,可以由第一进程的任意一个线程创建第二进程。

进一步的创建第二进程,所述第二进程内包括一个线程,包括:调用clone创建helper进程为所述第二进程以及helper线程为所述第二进程中的一个线程。

步骤104,利用第二进程中的线程对第一进程对应的预设目标线程执行抑制操作。

在本实施例中,所述预设目标线程,包括:所述的第一进程中除主线程以外任何一个不影响预设应用冷启动的线程。

预设抑制时机,是所述第一进程主线程创建后的任意时机,包括但不限于:在自定义application类的静态初始化代码块中;在自定义application的构造方法中;在自定义application的attachbasecontext方法中;在自定义application的oncreate方法中;在首个activity的构造方法中;在首个activity的oncreate方法中。

其中,利用所述第二进程中的线程对所述第一进程对应的预设目标线程执行抑制操作,包括:所述第二进程中的线程对所述第一进程对应的预设目标线程执行延迟操作。延迟操作可以是直接sleep(休眠)。延迟操作的延迟时间为3秒、5秒或7秒等。

所述利用所述第二进程中的线程对所述第一进程对应的预设目标线程执行抑制操作,所述预设目标线程包括除主线程之外的第一进程所需的至少一个其他线程,包括:所述第二线程的helper线程调用ptrace,第一个参数为ptrace_attach,第二个参数为预设目标线程的threadid,第三和第四个参数均使用null;ptrace调用成功后,helper线程调用waitpid,将预设目标线程的threadid作为第一个参数。

进一步参考图2,图2其示出了根据本发明的应用程序冷启动加速方法的又一个实施例的流程图。如图2所示,该应用程序冷启动加速方法,包括以下步骤:

步骤201,响应于接收到用于指示冷启动预设应用程序的指令,创建所述预设应用程序对应的第一进程。

步骤201与图1所示实施例中的步骤101相同,此处不赘述。

步骤202,第一进程继续启动,其中启动内容包含利用所述主线程创建所述预设应用程序的对象以及所述预设应用程序其他冷启动初始化操作。

步骤202与图1所示实施例中的步骤102相同,此处不赘述。

步骤203,获取预设目标线程id。

在本实施例中,在创建所述预设应用程序对应的第一进程后,在创建所述第二进程之前,获取预设目标线程id,包括:通过读取/proc/[pid]/task文件夹,获取第一进程内的所有线程的threadid,然后针对每个线程,通过读取其对应的/proc/[tid]/comm文件获取其名字,根据预设目标现成的名字获取预设目标线程的threadid。

步骤204,到达预设抑制时机时,创建第二进程,所述第二进程内包括一个线程。

步骤204与图1所示步骤103相同,此处不赘述。

步骤205,利用第二进程中的线程对第一进程对应的预设目标线程执行抑制操作。

步骤205与图1所示步骤104相同,此处不赘述。

步骤206,当被抑制的预设目标线程符合唤醒条件时,唤醒被抑制的预设目标线程,执行其正常流程,结束第二进程。

本实施例中,当被抑制的预设目标线程符合唤醒条件时,利用系统工具,唤醒被抑制的预设目标线程,执行第一进程中被抑制的预设目标线程的正常流程,结束第二进程。

其中,所述唤醒条件为收到主线程通知唤醒、sleep时间结束或被其他线程唤醒。

进一步,当所述第二进程为helper进程,第二进程的线程为helper线程时;所述第二线程的helper线程再次调用ptrace过程中第一个参数为ptrace_detach,第二个参数为被抑制预设目标线程的threadid,第三和第四个参数均使用null,ptrace调用成功后,被抑制预设目标线程恢复,继续执行正常的线程流程,helper线程退出,释放helper进程的所有资源,结束helper进程。

进一步参考图3,作为对上述各图所示方法的实现,本发明提供了一种应用程序冷启动加速装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图3所示,本实施例的应用程序冷启动加速装置包括:第一进程创建单元301、第一进程继续启动单元302、第二进程创建单元303和抑制预设目标线程单元304。其中,第一进程创建单元301,配置用于响应于接收到用于指示冷启动预设应用程序的指令,创建所述预设应用程序对应的第一进程,其中,所述第一进程包括一个主线程和除主线程之外的第一进程所需的至少一个其他线程;第一进程继续启动单元302,配置用于继续启动第一进程,其中启动内容包含利用所述主线程创建所述预设应用程序的对象以及所述预设应用程序其他冷启动初始化操作;第二进程创建单元303,配置用于到达预设抑制时机时,创建第二进程,所述第二进程内包括一个线程,其中创建所述第二进程的线程,在所述创建操作时暂停,创建完成后继续原执行内容;抑制预设目标线程单元304,配置用于利用所述第二进程中的线程对所述第一进程对应的预设目标线程执行抑制操作,所述预设目标线程包括所述除主线程之外的第一进程所需的至少一个其他线程。

在本实施例中,应用程序冷启动加速装置的第一进程创建单元301、第一进程继续启动单元302、第二进程创建单元303和抑制预设目标线程单元304可分别参考图1对应实施例中步骤101、步骤102、步骤103和步骤104的相关说明,在此不再赘述。

在一些实施方式中,应用程序冷启动加速装置还包括:预设目标线程id获取单元和唤醒抑制单元(图中未示出)。所述预设目标线程id获取单元配置用于:在创建所述预设应用程序对应的第一进程后,在创建所述第二进程之前,获取预设目标线程id。所述唤醒抑制单元配置用于:当被抑制的预设目标线程符合唤醒条件时,利用系统工具,唤醒被抑制的预设目标线程,执行第一进程中被抑制的预设目标线程的正常流程,结束第二进程。

在一些实施方式中,所述唤醒抑制单元进一步配置用于:所述唤醒条件为收到主线程通知唤醒、sleep时间结束或被其他线程唤醒;当被抑制的预设目标线程符合唤醒条件时,利用系统工具,执行第一进程中被抑制的预设目标线程的正常流程,所述第二进程的线程退出,释放第二进程的所有资源,结束第二进程。

在一些实施方式中,所述唤醒抑制单元进一步配置用于:所述唤醒条件为收到主线程通知唤醒、sleep时间结束或被其他线程唤醒;所述第二进程为helper进程,第二进程的线程为helper线程;当被抑制的预设目标线程符合唤醒条件时,所述第二线程的helper线程再次调用ptrace过程中第一个参数为ptrace_detach,第二个参数为被抑制预设目标线程的threadid,第三和第四个参数均使用null,ptrace调用成功后,被抑制预设目标线程恢复,继续执行正常的线程流程,helper线程退出,释放helper进程的所有资源,结束helper进程。

进一步参考图4,其示出了本发明的应用程序冷启动的加速方法流程示意图,如图4所示,具体包括以下内容:

在预设应用进程中有一个或多个线程可被抑制,其中可被抑制的线程称为预设目标线程,是除主线程以外任何一个不影响预设应用冷启动的线程。下面给出一个预设目标线程为jit进程的例子。

预设应用冷启动时,响应于接收到用于指示冷启动预设应用程序的指令,系统会为预设应用创建一个进程,即第一进程,在该第一进程内有多个线程:主线程、jit线程以及若干个其他线程。

第一进程的主线程为预设应用程序创建一个application的对象,该对象可以是加载本应用自身定义的application类后创建的一个该类的对象;如果无预设应用程序自身定义的application类,由系统创建默认的application对象。

实际执行控制抑制操作的可以是预设应用进程的任意一个线程,附图4中示例的是由主线程执行的。下面详细描述具体的抑制jit线程的过程。

首先需要找到jit线程的threadid。其中一种实施方式是通过读取/proc/[pid]/task文件夹,获取本进程内的所有线程的threadid,然后针对每个线程,通过读取其对应的/proc/[tid]/comm文件获取其名字,进而可以根据名字获取jit线程的threadid。

系统可以在应用进程的主线程创建后的任意时机,抑制jit线程,通常来讲抑制的时机越早,优化效果越好,可以开启抑制的时机包括但不限于:在自定义application类的静态初始化代码块中;在自定义application的构造方法中;在自定义application的attachbasecontext方法中;在自定义application的oncreate方法中;在首个activity的构造方法中;在首个activity的oncreate方法中。

当到达抑制可被抑制线程时机时,创建第二进程的第一进程中的主线程,暂停当前执行内容,然后创建一个新的进程,即第二进程,创建完成后继续原执行内容。

附图中是helper进程,此进程内只有一个线程,即helper线程,这个线程即用来执行真正的抑制jit线程的操作。具体创建时,可由第一进程的任意一个线程创建第二进程,具体一种实现方式是使用linux操作系统提供的clone这个系统调用创建新的进程。

之后helper线程调用linux操作系统的ptrace这个系统调用,第一个参数为ptrace_attach,第二个参数为jit线程的threadid,第三和第四个参数会被忽略,均使用null即可。这时上述ptrace调用成功之后,helper线程调用waitpid这个系统调用,并将jit线程的threadid作为第一个参数。waitpid调用成功之后,jit线程即处于抑制状态,此时其不会占用cpu等资源,释放出资源给应用进程冷启动使用。

随后helper线程就可以执行延迟操作,包括但不限于直接sleep一段时间。

另一方面,主线程会进行正常的冷启动初始化等操作,此时jit线程处于抑制状态,即达到了加快应用冷启动速度的目标。

helper线程达到唤醒条件了(例如sleep结束;收到主线程的通知;被其他线程唤醒等)时,会再次调用ptrace这个系统调用,第一个参数为ptrace_detach,第二个参数为jit线程的threadid,第三和第四个参数会被忽略(均使用null即可)。ptrace调用成功后,jit线程就会恢复,继续执行正常的jit流程。helper线程之后会退出,进而释放helper进程的所有资源。

下面参考图5,其示出了适于用来实现本发明实施例的电子设备的基本结构示意图。图5示出的电子设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图5所示,电子设备可以包括一个或多个处理器501,存储装置502。存储装置502用户存储一个或多个程序。存储装置502中的一个或多个程序可以被一个或多个处理器501执行。当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器可以实现本发明的方法中限定的上述功能。

描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括第一进程创建单元、第一进程继续启动一单元、第二进程创建单元、抑制预设目标线程单元和第一进程继续启动二单元。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,第一进程创建单元还可以被描述为“响应于接收到用于指示冷启动预设应用程序的指令,创建所述预设应用程序对应的第一进程,其中,所述第一进程包括一个主线程和除主线程之外的第一进程所需的至少一个其他线程”。

作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。本发明的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该设备执行时,使得该设备:响应于接收到用于指示冷启动预设应用程序的指令,创建所述预设应用程序对应的第一进程,其中,所述第一进程包括一个主线程和除主线程之外的第一进程所需的至少一个其他线程;所述第一进程继续启动,其中启动内容包含利用所述主线程创建所述预设应用程序的对象以及所述预设应用程序其他冷启动初始化操作;到达预设抑制时机时,创建第二进程,所述第二进程内包括一个线程;利用所述第二进程中的线程对所述第一进程对应的预设目标线程执行抑制操作,所述预设目标线程包括所述除主线程之外的第一进程所需的至少一个其他线程;其中创建第二进程的线程为第一进程中的线程,到达预设抑制时机时,执行创建的线程暂停当前执行内容,创建完成后继续原执行内容。

上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

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