CN114721747A - 一种应用程序启动方法及装置、存储介质及电子设备 - Google Patents

一种应用程序启动方法及装置、存储介质及电子设备 Download PDF

Info

Publication number
CN114721747A
CN114721747A CN202210643470.4A CN202210643470A CN114721747A CN 114721747 A CN114721747 A CN 114721747A CN 202210643470 A CN202210643470 A CN 202210643470A CN 114721747 A CN114721747 A CN 114721747A
Authority
CN
China
Prior art keywords
application program
system library
push message
target application
content
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
Application number
CN202210643470.4A
Other languages
English (en)
Inventor
李赞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sohu New Power Information Technology Co ltd
Original Assignee
Beijing Sohu New Power Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sohu New Power Information Technology Co ltd filed Critical Beijing Sohu New Power Information Technology Co ltd
Priority to CN202210643470.4A priority Critical patent/CN114721747A/zh
Publication of CN114721747A publication Critical patent/CN114721747A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44578Preparing or optimising for loading

Abstract

本申请提供了一种应用程序启动方法及装置、存储介质及电子设备,可用于通信技术领域,该方法通过预先生成目标应用程序的代理方法,从而在终端设备接收到目标应用程序发送的推送消息时,调用该代理方法,获取推送消息的内容,确定目标应用程序对应的各个系统库,基于推送消息的内容,触发预先对目标应用程序对应的各个系统库执行加载操作,在接收到用户对推送消息的点击指令的情况下,启动目标应用程序。由于预先对目标应用程序对应的各个系统库执行加载操作,从而在启动目标应用程序的过程中无需加载系统库,提高了应用程序的启动效率,实现快速启动应用程序,从而提高了用户体验和满足了用户需求。

Description

一种应用程序启动方法及装置、存储介质及电子设备
技术领域
本申请涉及通信技术领域,尤其涉及一种应用程序启动方法及装置、存储介质及电子设备。
背景技术
随着科学技术的快速发展,人们对终端设备中的应用程序的启动时间提出了更高的需求,因此,如何提供一种快速启动应用程序,以提高用户体验和满足用户需求的技术方案是本领域技术人员亟需解决的技术问题。
发明内容
本申请提供了一种应用程序启动方法及装置、存储介质及电子设备,目的在于实现快速应用程序,以提高用户体验和满足用户需求。
为了实现上述目的,本申请提供了以下技术方案:
一种应用程序启动方法,包括:
在终端设备接收到推送消息的情况下,调用预先生成的目标应用程序对应的代理方法,获取所述推送消息的内容;其中,所述目标应用程序为发送所述推送消息的应用程序;
确定所述目标应用程序对应的各个系统库;
基于所述推送消息的内容,对各个系统库执行加载操作;
响应于用户对所述推送消息的点击指令,启动所述目标应用程序。
上述的方法,可选的,所述确定所述目标应用程序对应的各个系统库,包括:
查找预设的数据库中所述目标应用程序对应的各个系统库标识;
将所查找到的每个系统库标识对应的系统库确定为所述目标应用程序对应的系统库。
上述的方法,可选的,所述基于所述推送消息的内容,对各个系统库执行加载操作,包括:
判断所述推送消息的内容中是否包括图片;
若所述推送消息的内容中包括图片,则判断所述图片是否完成下载,若所述图片完成下载,则对每个系统库包括的类进行对象实例化;
若所述推送消息的内容中不包括图片,则对每个系统库包括的类进行对象实例化。
上述的方法,可选的,所述对每个系统库包括的类进行对象实例化,包括:
针对每个系统库,获取预设的所述系统库对应的实例化方法,调用所述实例化方法,以实现对所述系统库包括的类进行对象实例化。
上述的方法,可选的,还包括:
若所述图片未完成下载,则返回执行所述判断所述图片是否完成下载的步骤。
一种应用程序启动装置,包括:
调用单元,用于在终端设备接收到推送消息的情况下,调用预先生成的目标应用程序对应的代理方法,获取所述推送消息的内容;其中,所述目标应用程序为发送所述推送消息的应用程序;
确定单元,用于确定所述目标应用程序对应的各个系统库;
加载单元,用于基于所述推送消息的内容,对各个系统库执行加载操作;
启动单元,用于响应于用户对所述推送消息的点击指令,启动所述目标应用程序。
上述的装置,可选的,所述确定单元具体用于:
查找预设的数据库中所述目标应用程序对应的各个系统库标识;
将所查找到的每个系统库标识对应的系统库确定为所述目标应用程序对应的系统库。
上述的装置,可选的,所述加载单元具体用于:
判断所述推送消息的内容中是否包括图片;
若所述推送消息的内容中包括图片,则判断所述图片是否完成下载,若所述图片完成下载,则对每个系统库包括的类进行对象实例化;
若所述推送消息的内容中不包括图片,则对每个系统库包括的类进行对象实例化。
一种存储介质,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如上述的应用程序启动方法。
一种电子设备,包括:
存储器,用于存储至少一组指令集;
处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上述的应用程序启动方法。
与现有技术相比,本申请包括以下优点:
本申请提供了一种应用程序启动方法及装置、存储介质及电子设备,该方法通过预先生成目标应用程序的代理方法,从而在终端设备接收到目标应用程序发送的推送消息时,调用该代理方法,获取推送消息的内容,确定目标应用程序对应的各个系统库,基于推送消息的内容,触发预先对目标应用程序对应的各个系统库执行加载操作,在接收到用户对推送消息的点击指令的情况下,启动目标应用程序。由于预先对目标应用程序对应的各个系统库执行加载操作,从而在启动目标应用程序的过程中无需加载系统库,提高了应用程序的启动效率,实现快速启动应用程序,从而提高了用户体验和满足了用户需求。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种应用程序启动方法的方法流程图;
图2为本申请提供的一种应用程序启动方法的又一方法流程图;
图3为本申请提供的一种应用程序启动方法的又一方法流程图;
图4为本申请提供的一种应用程序启动装置的结构示意图;
图5为本申请提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本实施例中,为了便于理解,对本申请涉及的相关名词进行说明如下:
系统动态库:iOS为了节省空间,将系统框架以动态库(也就是系统库)的形式,保存在缓存dyld中,从而每个应用程序app都能使用这些动态库,也不需要每个app中都包含这些动态库,只需在启动app时,链接动态库,加载app对应的动态库即可,也就是说,一个终端设备中只需保存一份系统动态库即可,从而减少终端设备内存的占用。
本申请实施例提供了一种应用程序启动方法,该方法可以应用在终端设备中,该方法的方法流程图如图1所示,具体包括:
S101、在终端设备接收到推送消息的情况下,调用预先生成的目标应用程序对应的代理方法,获取推送消息的内容;其中,目标应用程序为发送推送消息的应用程序。
本实施例中,预先生成目标应用程序的代理方法,其中,代理方法用于在对代理方法进行调用时,返回推送消息的内容。
其中,目标应用程序的代理方法的预先生成过程,包括:
响应于通过开发工具对目标应用程序的对象新建指令,生成服务选择界面;服务选择界面至少包括通知扩展服务的选择项;
响应于对服务选择界面中的通知扩展服务的选择项的选择指令,创建通知扩展服务对象;
响应于通知扩展服务对象的通知服务文件生成指令,生成所述通知扩展服务对象的通知服务文件;其中,通知服务文件中包括所述目标应用程序的代理方法。
示例性的,开发工具可以是xcode。
本实施例中,对目标应用程序的代理方法的预先生成过程进行举例说明如下:
1.选中目标应用程项目中的file ->New ->Target,选中NotificationServiceExtention,得到NotificationExtention的target,选择此target,从而自动生成NotificationService文件。
2.NotificationService文件中自带收到push(即推送消息)的代理方法。
需要说明的是,终端设备中的每个应用程序的代理方法的预先生成过程同目标应用程序的代理方法的生成过程相同,此处不再赘述。
本实施例中,在终端设备接收到推送消息的情况下,调用预先生成的目标应用程序对应的代理方法,获取推送消息的内容,具体的,在终端设备接收到推送消息的情况下,确定发送推送消息的应用程序,并将发送推送消息的应用程序确定为目标应用程序,并自动触发调用预先生成的目标应用程序对应的通知服务文件中的代理方法,获取推送消息的内容。
其中,目标应用程序为发送推送消息的应用程序,推送消息的内容包括但不限于标题和内容,可选的,推送消息的内容还可以包括图片的下载地址。
示例性的,调用预先生成的目标应用程序对应的代理方法的具体实现,可以通过以下代码实现:
(void)didReceiveNotificationRequest:(UNNotificationRequest *)requestwithContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler{}。
S102、确定目标应用程序对应的各个系统库。
本实施例中,基于缓存dyld中的系统库,预先对每个应用程序对应的各个系统库进行梳理,确定每个应用程序对应的各个系统库,也就是确定每个应用程所使用各个系统库,并将每个应用程序和每个应用程序对应的各个系统库之间的对应关系存储至预设的数据库中,也就是将应用程序信息和系统库标识对应存储至数据库中。
其中,缓存中的系统库包括但不限于:图片库、网页视图webview库、摄像头库、电话相关库、pdf库、MediaPlayer、StoreKit、PencilKit、VisionKit、CallKit、safari、ASA归因库、SceneKit、NSCalendar、ASAuthorization、mail和Accelerate。
本实施例中,本实施例中,在获取到推送消息的内容的情况下,触发确定目标应用程序对应的各个系统库,具体的,通过预设的数据库中的对应关系,确定目标应用程序对应的各个系统库。
参阅图2,确定目标应用程序对应的各个系统库的过程,具体包括以下步骤:
S201、查找预设的数据库中目标应用程序对应的各个系统库标识。
本实施例中,查找预设的数据库中目标应用程序对应的各个系统库标识,具体的,基于目标应用程序的应用程序信息,通过遍历数据库中的各个对应关系,获得目标应用程序对应的对应关系,基于目标应用程序对应的对应关系,得到目标应用程序对应的各个系统库标识。其中,对应关系用于指示应用程序信息对应的系统库标识。
可选的,应用程序信息包括但不限于应用程序名称,系统库标识可以是系统库名称。
S202、将所查找到的每个系统库标识对应的系统库确定为目标应用程序对应的系统库。
本实施例中,将所查找到的每个系统库标识对应的系统库确定目标应用程序对应的系统库。
S103、基于推送消息的内容,对各个系统库执行加载操作。
本实施例中,基于推送消息的内容,对各个系统库执行加载操作,也就是通过对系统库包括的类进行对象实例化,使得系统库被调用。
参阅图3,基于推送消息的内容,对各个系统库执行加载操作的过程,具体包括以下步骤:
S301、判断推送消息的内容中是否包括图片,若是,执行S302,若否,执行S303。
本实施例中,判断推送消息的内容中是否包括图片,具体的,判断推送消息的内容中是否包括图片下载地址,若推送消息的内容中包括图片下载地址,则确定推送消息的内容中包括图片,若推送消息的内容中不包括图片下载地址,则确定推送消息的内容中不包括图片。
S302、判断图片是否完成下载,若是,执行S303,若否,返回执行S302。
本实施例中,若推送消息的内容中包括图片,则进一步判断图片是否完成下载,若图片完成下载,则执行步骤S303,若图片未完成下载,则返回执行步骤S302,直至图片完成下载。
S303、对每个系统库包括的类进行对象实例化。
本实施例中,若推送消息的内容中不包括图片,或,推送消息的内容中包括图片,但该图片已经完成下载,则对每个系统库包括的类进行对象实例化,以实现对每个系统库执行加载操作。
本实施例中,对每个系统库包括的类进行对象实例化的过程,具体包括:获取预设的系统库对应的实例化方法,调用实例化方法,以实现对系统库包括的类进行对象实例化,也就是调用目标应用程序对应的每个系统库的源码,实现对系统库包括的类进行对象实例化。
具体的,可以通过使用alloc和init的方式,实现调用。
示例性的,各个系统库的源码如下所示:
(void)initEntry{
unused EKAuthorizationStatus s = EKAuthorizationStatusNotDetermined;
NSLog(@"OCEntry.mm 1");
[UIColor redColor].CGColor;
[[UIImage alloc]init].CGImage;
NSLog(@"OCEntry.mm 2");
u_int count = 0;
class_copyPropertyList([self class], &count);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.05 *NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[[UIView alloc]init].accessibilityElements;
});
NSLog(@"OCEntry.mm 3");
//引导加载,播放库,MobileCoreServices;
[AVPlayerLayer playerLayerWithPlayer:[AVPlayer playerWithPlayer Item:nil]];
UTTypeConformsTo((__bridge CFStringRef)@"mp4", kUTTypeQuick
TimeMovie);
NSLog(@"OCEntry.mm 4");
//引导加载图片库;
//[PHPhotoLibrary sharedPhotoLibrary];
NSLog(@"OCEntry.mm 5");
//触发调用webview库;
[WKWebView class];
NSLog(@"OCEntry.mm 6");
//触发调用摄像头库;
if([AVCaptureDevice respondsToSelector:@selector(authorizationStatus
ForMediaType:)]){
[AVCaptureDevice authorizationStatusForMediaType:AVMediaType
Video];
};
NSLog(@"OCEntry.mm 7");
//触发调用电话相关库;
[[CTTelephonyNetworkInfo alloc] init];
NSLog(@"OCEntry.mm 9");
[RPScreenRecorder class];
NSLog(@"OCEntry.mm 10");
//触发调用pdf库;
if (@available(iOS 11.0, *)) {
[[PDFDocument alloc]init];
};
NSLog(@"OCEntry.mm 11");
//触发调用MediaPlayer;
[[MPVolumeView alloc]init];
NSLog(@"OCEntry.mm 12");
//触发调用StoreKit;
[SKPaymentQueue defaultQueue];
NSLog(@"OCEntry.mm 13");
//触发调用PencilKit
if (@available(iOS 13.0, *)) {
[[PKCanvasView alloc]init];
};
NSLog(@"OCEntry.mm 14");
//触发调用VisionKit
if (@available(iOS 13.0, *)) {
[VNDocumentCameraViewController class];
};
NSLog(@"OCEntry.mm 14.1");
//触发调用CallKit;
if (@available(iOS 10.0, *)) {
[CXCallController class];
};
NSLog(@"OCEntry.mm 15");
//触发调用safari;
[SFSafariViewController class];
NSLog(@"OCEntry.mm 16");
//触发调用ASA归因库;
if (@available(iOS 14.3, *)) {
[AAAttribution class];
};
NSLog(@"OCEntry.mm 17");
[ADClient sharedClient];
NSLog(@"OCEntry.mm 18");
//触发调用SceneKit;
[SCNScene class];
NSLog(@"OCEntry.mm 19");
//触发调用NSCalendar;
[NSCalendar currentCalendar];
NSLog(@"OCEntry.mm 20");
//触发调用ASAuthorization;
if (@available(iOS 13.0,*)) {
[[ASAuthorizationAppleIDProvider alloc] init];
};
NSLog(@"OCEntry.mm 21");
//触发调用mail;
[MFMailComposeViewController class];
NSLog(@"OCEntry.mm 22")。
需要说明的是,本实施例只对目标应用程序对应的各个系统库执行加载操作。
本实施例中,当推送消息的内容中包括图片时,只有在图片完成下载的情况下,才对每个系统库包括的类进行对象实例化,从而确保推送消息在终端设备中正常显示。
S104、响应于用户对推送消息的点击指令,启动目标应用程序。
本实施例中,用户对终端设备的推送消息进行点击,响应于用户对推送消息的点击指令,触发启用目标应用程序。
其中,启动目标应用程序的具体过程,包括以下步骤:
1.加载目标应用程序的可执行文件;
2.加载动态链接器;
3.动态链接器加载动态库(即系统库),其中,在动态链接器加载系统库的过程中,判断系统库是否已加载,若系统库已加载,则不再对系统库进行加载;
4.rebase指针跳整和bind符号绑定;
5.objc的runtime初始化;
6.执行+load方法、c++构造函数和静态全局变量。
本实施例中,在启动目标应用程序的过程,由于动态连接器加载系统库的过程中对系统库进行是否加载的判断,并在系统库已完成加载的情况下,不再对系统库进行加载,从而节省的目标应用程序启动过程中系统库加载的时间,进而提高了应用程序启动的效率。
本申请的发明人应用本申请提供的方法进行测试发现,在iPhone6Plus设备上的应用程序启动耗时减少500ms,在iPhone7Plus设备上的应用程序启动耗时减少56ms。
本申请实施例提供的应用程序启动方法,通过预先生成目标应用程序的代理方法,从而在终端设备接收到目标应用程序发送的推送消息时,调用该代理方法,获取推送消息的内容,触发确定目标应用程序对应的各个系统库,基于推送消息的内容,触发预先对目标应用程序对应的各个系统库执行加载操作,在接收到用户对推送消息的点击指令的情况下,启动目标应用程序。由于在获取到推送消息的内容时,预先对目标应用程序对应的各个系统库执行加载操作,从而在启动目标应用程序的过程中无需加载系统库,提高了应用程序的启动效率,实现快速启动应用程序,从而提高了用户体验。
需要说明的是,虽然采用特定次序描绘了各指令,但是这不应当理解为要求这些指令以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本申请公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请公开的范围在此方面不受限制。
与图1所述的方法相对应,本申请实施例还提供了一种应用程序启动装置,用于对图1中方法的具体实现,其结构示意图如图4所示,具体包括:
调用单元401,用于在终端设备接收到推送消息的情况下,调用预先生成的目标应用程序对应的代理方法,获取所述推送消息的内容;其中,所述目标应用程序为发送所述推送消息的应用程序;
确定单元402,用于确定所述目标应用程序对应的各个系统库;
加载单元403,用于基于所述推送消息的内容,对各个系统库执行加载操作;
启动单元404,用于响应于用户对所述推送消息的点击指令,启动所述目标应用程序。
本申请实施例提供的应用程序启动装置,通过预先生成目标应用程序的代理方法,从而在终端设备接收到目标应用程序发送的推送消息时,调用该代理方法,获取推送消息的内容,触发确定目标应用程序对应的各个系统库,基于推送消息的内容,触发预先对目标应用程序对应的各个系统库执行加载操作,在接收到用户对推送消息的点击指令的情况下,启动目标应用程序。由于在获取到推送消息的内容时,预先对目标应用程序对应的各个系统库执行加载操作,从而在启动目标应用程序的过程中无需加载系统库,提高了应用程序的启动效率,实现快速启动应用程序,从而提高了用户体验。
在本申请的一个实施例中,基于前述方案,确定单元402具体用于:
查找预设的数据库中所述目标应用程序对应的各个系统库标识;
将所查找到的每个系统库标识对应的系统库确定为所述目标应用程序对应的系统库。
在本申请的一个实施例中,基于前述方案,加载单元403具体用于:
判断所述推送消息的内容中是否包括图片;
若所述推送消息的内容中包括图片,则判断所述图片是否完成下载,若所述图片完成下载,则对每个系统库包括的类进行对象实例化;
若所述推送消息的内容中不包括图片,则对每个系统库包括的类进行对象实例化。
在本申请的一个实施例中,基于前述方案,所述加载单元403在对每个系统库包括的类进行对象实例化时,具体用于:
针对每个系统库,获取预设的所述系统库对应的实例化方法,调用所述实例化方法,以实现对所述系统库包括的类进行对象实例化。
在本申请的一个实施例中,基于前述方案,加载单元403还用于:
若所述图片未完成下载,则返回执行所述判断所述图片是否完成下载的步骤。
本申请实施例还提供了一种存储介质,所述存储介质存储有指令集,其中,在所述指令集运行时执行如上文任一实施例公开的应用程序启动方法。
本申请实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,用于存储至少一组指令集;处理器502,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如上文任一实施例公开的应用程序启动方法。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本申请公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本申请公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种应用程序启动方法,其特征在于,包括:
在终端设备接收到推送消息的情况下,调用预先生成的目标应用程序对应的代理方法,获取所述推送消息的内容;其中,所述目标应用程序为发送所述推送消息的应用程序;
确定所述目标应用程序对应的各个系统库;
基于所述推送消息的内容,对各个系统库执行加载操作;
响应于用户对所述推送消息的点击指令,启动所述目标应用程序。
2.根据权利要求1所述的方法,其特征在于,所述确定所述目标应用程序对应的各个系统库,包括:
查找预设的数据库中所述目标应用程序对应的各个系统库标识;
将所查找到的每个系统库标识对应的系统库确定为所述目标应用程序对应的系统库。
3.根据权利要求1所述的方法,其特征在于,所述基于所述推送消息的内容,对各个系统库执行加载操作,包括:
判断所述推送消息的内容中是否包括图片;
若所述推送消息的内容中包括图片,则判断所述图片是否完成下载,若所述图片完成下载,则对每个系统库包括的类进行对象实例化;
若所述推送消息的内容中不包括图片,则对每个系统库包括的类进行对象实例化。
4.根据权利要求3所述的方法,其特征在于,所述对每个系统库包括的类进行对象实例化,包括:
针对每个系统库,获取预设的所述系统库对应的实例化方法,调用所述实例化方法,以实现对所述系统库包括的类进行对象实例化。
5.根据权利要求3所述的方法,其特征在于,还包括:
若所述图片未完成下载,则返回执行所述判断所述图片是否完成下载的步骤。
6.一种应用程序启动装置,其特征在于,包括:
调用单元,用于在终端设备接收到推送消息的情况下,调用预先生成的目标应用程序对应的代理方法,获取所述推送消息的内容;其中,所述目标应用程序为发送所述推送消息的应用程序;
确定单元,用于确定所述目标应用程序对应的各个系统库;
加载单元,用于基于所述推送消息的内容,对各个系统库执行加载操作;
启动单元,用于响应于用户对所述推送消息的点击指令,启动所述目标应用程序。
7.根据权利要求6所述的装置,其特征在于,所述确定单元具体用于:
查找预设的数据库中所述目标应用程序对应的各个系统库标识;
将所查找到的每个系统库标识对应的系统库确定为所述目标应用程序对应的系统库。
8.根据权利要求6所述的装置,其特征在于,所述加载单元具体用于:
判断所述推送消息的内容中是否包括图片;
若所述推送消息的内容中包括图片,则判断所述图片是否完成下载,若所述图片完成下载,则对每个系统库包括的类进行对象实例化;
若所述推送消息的内容中不包括图片,则对每个系统库包括的类进行对象实例化。
9.一种存储介质,其特征在于,所述存储介质存储有指令集,其中,所述指令集被处理器执行时实现如权利要求1-5任意一项所述的应用程序启动方法。
10.一种电子设备,其特征在于,包括:
存储器,用于存储至少一组指令集;
处理器,用于执行所述存储器中存储的指令集,通过执行所述指令集实现如权利要求1-5任意一项所述的应用程序启动方法。
CN202210643470.4A 2022-06-09 2022-06-09 一种应用程序启动方法及装置、存储介质及电子设备 Pending CN114721747A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210643470.4A CN114721747A (zh) 2022-06-09 2022-06-09 一种应用程序启动方法及装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210643470.4A CN114721747A (zh) 2022-06-09 2022-06-09 一种应用程序启动方法及装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN114721747A true CN114721747A (zh) 2022-07-08

Family

ID=82232774

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210643470.4A Pending CN114721747A (zh) 2022-06-09 2022-06-09 一种应用程序启动方法及装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN114721747A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180295200A1 (en) * 2016-05-24 2018-10-11 Tencent Technology (Shenzhen) Company Limited Notification column message processing method and device
CN110222263A (zh) * 2019-05-24 2019-09-10 苏州达家迎信息技术有限公司 应用程序维护控制方法、装置、服务器、终端及存储介质
CN110231941A (zh) * 2018-03-05 2019-09-13 北京展心展力信息科技有限公司 适用于运行移动设备的原生应用程序的无需完全安装的应用程序级运行环境
US20190370095A1 (en) * 2018-05-29 2019-12-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and device for preloading application, storage medium and intelligent terminal
WO2022042237A1 (zh) * 2020-08-31 2022-03-03 华为技术有限公司 加速应用启动的方法、电子设备及计算机存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180295200A1 (en) * 2016-05-24 2018-10-11 Tencent Technology (Shenzhen) Company Limited Notification column message processing method and device
CN110231941A (zh) * 2018-03-05 2019-09-13 北京展心展力信息科技有限公司 适用于运行移动设备的原生应用程序的无需完全安装的应用程序级运行环境
US20190370095A1 (en) * 2018-05-29 2019-12-05 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method and device for preloading application, storage medium and intelligent terminal
CN110222263A (zh) * 2019-05-24 2019-09-10 苏州达家迎信息技术有限公司 应用程序维护控制方法、装置、服务器、终端及存储介质
WO2022042237A1 (zh) * 2020-08-31 2022-03-03 华为技术有限公司 加速应用启动的方法、电子设备及计算机存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BHAVIN & JAYESH: "iOS Push Notification with Notification Service Extension", 《HTTPS://WWW.LOGISTICINFOTECH.COM/BLOG/IOS-PUSH-NOTIFICATION-WITH-NOTIFICATION-SERVICE-EXTENSION》 *

Similar Documents

Publication Publication Date Title
CN106598655B (zh) 应用程序页面处理方法和装置
US7127709B2 (en) System and method for jointly managing dynamically generated code and data
CN105335187B (zh) 一种应用的处理方法及装置
CN109165050B (zh) 程序的运行方法、装置、计算设备以及存储介质
CN107748689B (zh) 一种网页展示方法和装置
CN111475235A (zh) 函数计算冷启动的加速方法、装置、设备及存储介质
CN110968331A (zh) 应用程序运行的方法和装置
CN111475142A (zh) 一种小程序文件包的生成方法、装置及设备
CN107526623B (zh) 一种数据处理方法及装置
CN114138439A (zh) 任务调度方法及装置、电子设备和存储介质
CN104765624B (zh) 虚拟机应用程序的更新处理方法和装置
CN106598662B (zh) 基于android的应用加载方法及装置
CN115114071A (zh) 一种内存分析方法、装置、设备及介质
CN114721747A (zh) 一种应用程序启动方法及装置、存储介质及电子设备
CN111722850B (zh) 多系统间应用的处理方法、装置及系统
CN116382713A (zh) 构建应用镜像的方法、系统、设备和存储介质
CN106775608B (zh) 独立系统进程的实现方法和装置
CN113157348A (zh) 游戏启动方法、装置、计算机设备以及存储介质
CN113515299A (zh) 软件开发工具包sdk热升级方法、装置、设备及存储介质
CN109933357B (zh) 应用程序升级方法及装置
CN113535143A (zh) 堆栈信息处理方法、装置、电子设备和存储介质
US10165074B2 (en) Asynchronous custom exit points
CN116126320B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN112181406A (zh) 一种渲染引擎的共享方法和装置
CN114528037B (zh) 一种应用启动方法、装置、电子设备及存储介质

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20220708