本发明专利技术公开了一种应用程序保活方法,包括:获取系统应用程序包名和保活应用程序包名;监控系统应用程序包名对应的系统应用程序,得到入口函数;在入口函数中设置定时任务;利用定时任务判断保活应用程序包名对应的保活应用程序是否存活;若存活,则执行利用定时任务判断保活应用程序包名对应的保活应用程序是否存活的步骤;若未存活,则将保活应用程序重启,并执行利用定时任务判断保活应用程序包名对应的保活应用程序是否存活的步骤。本方法通过在系统应用中设定定时任务,实现与系统生命周期绑定,对需要保活的应用程序无任何侵入性且保证了应用程序的保活。此外,本发明专利技术还提供了一种应用程序保活装置、设备及存储介质,同样具有以上有益效果。同样具有以上有益效果。同样具有以上有益效果。
【技术实现步骤摘要】
一种应用程序保活方法、装置、设备及存储介质
[0001]本专利技术涉及计算机
,特别涉及一种应用程序保活方法、装置、设备及存储介质。
技术介绍
[0002]现阶段市面上的App(Application,应用软件)在切换到后台时,手机后台会根据App实时的功耗及占用内存进行后台清理,常常会被误杀,导致用户频繁重启App或无法收到重要信息。
[0003]现有技术为了保证App始终处于保活状态,即使在被系统误杀情况下,也能静默启动,为用户的使用体验做基础保障,应用程序保活方法常采用Socket(端口号,即网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)长链,多服务,多App相互监控唤起的复杂机制,需要应用程序中加入互拉逻辑,应用程序需接入指定SDK(Software Development Kit,软件开发工具包)或特殊逻辑处理,对应用程序具有侵入性。
技术实现思路
[0004]有鉴于此,本专利技术的目的在于提供一种应用程序保活方法、装置、设备及存储介质,解决了现有技术中应用程序保活方法对应用程序具体侵入性的问题。
[0005]为解决上述技术问题,本专利技术提供了一种应用程序保活方法,包括:
[0006]获取系统应用程序包名和保活应用程序包名;
[0007]监控所述系统应用程序包名对应的所述系统应用程序,得到入口函数;
[0008]在所述入口函数中设置定时任务;
[0009]利用所述定时任务判断所述保活应用程序包名对应的所述保活应用程序是否存活;
[0010]若存活,则执行所述利用所述定时任务判断所述保活应用程序包名对应的所述保活应用程序是否存活的步骤;
[0011]若未存活,则将所述保活应用程序重启,并执行利用所述定时任务判断所述保活应用程序包名对应的所述保活应用程序是否存活的步骤。
[0012]可选的,所述监控所述系统应用程序包名对应的所述系统应用程序,得到入口函数,包括:
[0013]对所述系统应用程序包名对应的所述系统应用程序进行监控,得到所述系统应用程序的进程信息;
[0014]根据所述进程信息判断所述系统应用程序是否启动;
[0015]若启动,则根据反射机制对所述系统应用程序的进程进行切面,得到attachBaseContest函数。
[0016]可选的,所述对所述系统应用程序包名对应的所述系统应用程序进行监控,包括:
[0017]对系统桌面包名对应的所述系统桌面应用程序进行监控。
[0018]可选的,所述利用所述定时任务判断所述保活应用程序包名是否存活,包括:
[0019]利用adb shell ps命令查看进程信息;
[0020]利用grep命令查找所述进程信息中是否存在所述保活应用程序的信息;
[0021]若存在,则所述保活应用程序存活;
[0022]若未存在,则所述保活应用程序未存活。
[0023]可选的,所述利用grep命令查找所述进程信息中是否存在所述保活应用程序的信息,包括:
[0024]利用所述grep命令查找所述进程信息中是否存在所述保活应用程序包名。
[0025]可选的,在所述若未存活,则将所述保活应用程序重启,并执行利用所述定时任务判断所述保活应用程序包名是否存活的步骤之后,还包括:
[0026]记录所述保活应用程序重启次数;
[0027]若所述次数达到预设次数,则重启系统,并执行所述获取系统应用程序包名和保活应用程序包名的步骤。
[0028]本专利技术还提供了一种应用程序保活装置,包括:
[0029]获取模块,用于获取系统应用程序包名和保活应用程序包名;
[0030]监控模块,用于监控所述系统应用程序包名对应的所述系统应用程序,得到入口函数;
[0031]设置模块,用于在所述入口函数中设置定时任务;
[0032]判断模块,用于利用所述定时任务判断所述保活应用程序包名对应的所述保活应用程序是否存活;
[0033]执行模块,用于若存活,则执行所述利用所述定时任务判断所述保活应用程序包名对应的所述保活应用程序是否存活的步骤;
[0034]第一重启模块,用于若未存活,则将所述保活应用程序重启,并执行利用所述定时任务判断所述保活应用程序包名对应的所述保活应用程序是否存活的步骤。
[0035]可选的,还包括:
[0036]记录模块,用于记录所述保活应用程序重启次数;
[0037]第二重启模块,用于若所述次数达到预设次数,则重启系统,并执行获取系统应用程序包名的步骤。
[0038]本专利技术还提供了一种应用程序保活设备,包括:
[0039]存储器,用于存储计算机程序;
[0040]处理器,用于执行所述计算机程序时实现如上述的应用程序保活方法的步骤。
[0041]本专利技术还提供了一种存储介质,所述存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现上述的应用程序保活方法的步骤。
[0042]可见,本专利技术通过系统应用程序包名监控系统应用程序,得到入口函数,在入口函数中加入保活配置列表和检测保活应用程序是否存活的检测任务,实现了与系统生命周期绑定,对需要保活的应用程序无任何侵入性且保证了应用程序的保活,应用程序无需接入指定SDK或特殊逻辑处理,完全与保活机制解耦,正常开发即可。
[0043]此外,本专利技术还提供了一种应用程序保活装置、设备及存储介质,同样具有上述有
益效果。
附图说明
[0044]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0045]图1为本专利技术实施例提供的一种应用程序保活方法流程图;
[0046]图2为本专利技术实施例提供的一种应用程序保活方法的流程示例图;
[0047]图3为本专利技术实施例提供的一种应用程序保活装置的结构示意图;
[0048]图4为本专利技术实施例提供的一种应用程序保活设备的结构示意图。
具体实施方式
[0049]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0050]请参考图1,图1为本专利技术实施例提供的一种应用程序保活方法流程图。该方法可以包括:
[0051]S101:获取系统应用程序包名和保活应用程序包名。
[0052]本实施例并不限定获取系统应用程序包名和保活应用程序包名的顺序,例本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种应用程序保活方法,其特征在于,包括:获取系统应用程序包名和保活应用程序包名;监控所述系统应用程序包名对应的所述系统应用程序,得到入口函数;在所述入口函数中设置定时任务;利用所述定时任务判断所述保活应用程序包名对应的所述保活应用程序是否存活;若存活,则执行所述利用所述定时任务判断所述保活应用程序包名对应的所述保活应用程序是否存活的步骤;若未存活,则将所述保活应用程序重启,并执行利用所述定时任务判断所述保活应用程序包名对应的所述保活应用程序是否存活的步骤。2.根据权利要求1所述的应用程序保活方法,其特征在于,所述监控所述系统应用程序包名对应的所述系统应用程序,得到入口函数,包括:对所述系统应用程序包名对应的所述系统应用程序进行监控,得到所述系统应用程序的进程信息;根据所述进程信息判断所述系统应用程序是否启动;若启动,则根据反射机制对所述系统应用程序的进程进行切面,得到attachBaseContest函数。3.根据权利要求2所述的应用程序保活方法,其特征在于,所述对所述系统应用程序包名对应的所述系统应用程序进行监控,包括:对系统桌面包名对应的所述系统桌面应用程序进行监控。4.根据权利要求1所述的应用程序保活方法,其特征在于,所述利用所述定时任务判断所述保活应用程序包名是否存活,包括:利用adb shell ps命令查看进程信息;利用grep命令查找所述进程信息中是否存在所述保活应用程序的信息;若存在,则所述保活应用程序存活;若未存在,则所述保活应用程序未存活。5.根据权利要求4所述的应用程序保活方法,其特征在于,所述利用grep命令查找所述进程信息中是否存在所述保活应用程序的信息,包括:利用所述grep命令...
【专利技术属性】
技术研发人员:谢如栋,方剑,胡幸江,王岩,
申请(专利权)人:杭州柚堂网络科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。