一种自启动方法及装置与流程

文档序号:12463346阅读:291来源:国知局
一种自启动方法及装置与流程

本发明实施例涉及计算机软件技术,尤其涉及一种自启动方法及装置。



背景技术:

随着智能终端的发展,诸如智能数字电视、智能手机或者智能电脑等智能终端越来越广泛地应用在工作生活中。

智能终端的性能的不断提高和因特网的快速发展,用户可安装各种各样的应用软件来丰富智能终端的功能。目前,很多应用具有自启动功能,即在应用的描述文件中注册能够引起应用自启动的静态广播接收器,易导致用户未开启该应用时,应用在开机后自动在后台运行,消耗系统的内存资源。当具有自启动功能的应用安装过多时,导致系统内存不足,影响智能终端的正常运行。

针对上述问题,目前的解决方法是用户自主设置是否允许应用自启动,但是上述解决方法学习门槛较高,尤其是针对智能数字电视的应用自启动设置,操作复杂,用户可能不习惯或者不懂如何进行系统设置。同时用户在进行系统应用自启动设置时需获取root权限,增加了智能终端的安全风险。



技术实现要素:

本发明提供一种自启动方法及装置,以实现智能终端的自动控制应用程序的自启动。

第一方面,本发明实施例提供了一种自启动方法,该方法包括:

获取当前系统运行的内存信息,其中,所述内存信息包括运行总内存值和各应用程序的内存值;

判断当前运行总内存值是否大于预设阈值;

若当前运行总内存值大于预设阈值,则根据所述各应用程序的内存值确定禁止自启动的应用程序,在下一次系统重启时,禁止所述应用程序自启动。

进一步的,判断当前运行总内存值是否大于预设阈值之后,所述方法还包括:

若当前运行总内存值不大于所述预设阈值,则在预设时间间隔后重新获取当前系统运行的内存信息,判断所述当前运行总内存值是否大于所述预设阈值。

进一步的,根据所述各应用程序的内存值确定禁止自启动的应用程序,包括:

根据所述各应用程序的内存值确定内存值排序列表;

根据所述内存值排序列表确定禁止自启动的应用程序。

进一步的,根据所述内存值排序列表确定禁止自启动的应用程序,包括:

步骤A:将内存值最高的应用程序的包名添加至禁止自启动列表中;

步骤B:确定所述运行总内存与禁止自启动列表中的所述应用程序的内存值的差值;

步骤C:判断所述差值是否大于所述预设阈值;

若是,在所述内存值排序列表中删除所述内存值最高的应用程序,形成新的内存值排序列表,并循序执行步骤A、步骤B和步骤C,直到所述差值不大于所述预设阈值。

进一步的,在下一次系统重启时,禁止所述应用程序自启动,包括:

当系统重启时,获取所述禁止自启动列表中的包名;

判断所述包名对应的应用程序的描述文件中是否存在自启动静态广播接收器注册;

若是,禁止所述自启动静态广播接收器注册。

第二方面,本发明实施例还提供了一种自启动装置,该装置包括:

内存信息获取模块,用于获取当前系统运行的内存信息,其中,所述内存信息包括运行总内存值和各应用程序的内存值;

内存判断模块,用于判断当前运行总内存值是否大于预设阈值;

自启动控制模块,用于若当前运行总内存值大于预设阈值,则根据所述各应用程序的内存值确定禁止自启动的应用程序,在下一次系统重启时,禁止所述应用程序自启动。

进一步的,所述装置还包括:

内存信息循环检测模块,用于判断当前运行总内存值是否大于预设阈值之后,若当前运行总内存值不大于所述预设阈值,则在预设时间间隔后重新获取当前系统运行的内存信息,判断所述当前运行总内存值是否大于所述预设阈值。

进一步的,所述自启动控制模块包括:

内存值排序单元,用于根据所述各应用程序的内存值确定内存值排序列表;

禁止自启动应用确定单元,用于根据所述内存值排序列表确定禁止自启动的应用程序。

进一步的,所述禁止自启动应用确定单元包括:

禁止自启动包名确定子单元,用于执行步骤A:将内存值最高的应用程序的包名添加至禁止自启动列表中;

差值确定子单元,用于执行步骤B:确定所述运行总内存与禁止自启动列表中的所述应用程序的内存值的差值;

差值判断子单元,用于执行步骤C:判断所述差值是否大于所述预设阈值;

循环检测子单元,用于若所述差值大于所述预设阈值,在所述内存值排序列表中删除所述内存值最高的应用程序,形成新的内存值排序列表,并循序执行步骤A、步骤B和步骤C,直到所述差值不大于所述预设阈值。

进一步的,所述自启动控制模块所述包括:

包名获取单元,用于当系统重启时,获取所述禁止自启动列表中的包名;

自启动判断单元,用于判断所述包名对应的应用程序的描述文件中是否存在自启动静态广播接收器注册;

自启动禁止单元,用于若所述包名对应的应用程序的描述文件中存在自启动静态广播接收器注册,禁止所述自启动静态广播接收器注册。

本发明通过统计系统的内存信息,在当前运行总内存值大于预设阈值时根据各应用程序的内存值确定禁止自启动的应用程序,在下一次系统重启时,对禁止自启动的应用程序禁止自启动,代替了用户手动进行自启动设置,解决了当自启动应用程序过多导致内存资源不足,用户手动自启动设置操作复杂,安全风险大的问题,实现了系统自动控制应用程序的自启动。

附图说明

图1是本发明实施例一提供的自启动方法的流程图;

图2是本发明实施例二提供的自启动方法的流程图;

图3是本发明实施例三提供的自启动方法的流程图;

图4是本发明实施例四提供的自启动装置的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1为本发明实施例一提供的自启动方法的流程图,本实施例可适用于控制系统应用自启动的情况,该方法可以由本发明实施例提供的自启动装置来执行,该装置可采用硬件和/或软件的形式实现,该装置可集成于智能终端中,智能终端例如可以是智能电视或者智能手机等。该方法具体包括:

S110、获取当前系统运行的内存信息,其中,内存信息包括运行总内存值和各应用程序的内存值。

其中,内存指的是智能终端中的重要部件之一,用于暂时存放CPU的运算数据和与硬盘等外部存储器交换的数据。智能终端中的任何应用程序在运行时均占用内存资源。运行总内存值指的是智能终端中正在运行的所有应用程序所占用的总的内存资源,各应用程序的内存值指的是每一个应用程序在运行时分别占用的内存资源。

S120、判断当前运行总内存值是否大于预设阈值。

若当前运行总内存值大于预设阈值,则执行步骤S130。

其中,为了避免智能终端中运行的应用程序过多,占用大量内存资源,导致系统的内存不足,影响智能终端基本操作的正常运行的情况,在系统中设置预设阈值,保证系统有充足的内存,使得智能终端基础业务的正常运行。

示例性的,系统的总内存为2G,预设阈值可以是1.9G。当检测到当前运行总内存值大于预设阈值,例如当前运行总内存值可以是1.97G,则确定当前运行总内存值大于预设阈值,系统内存即将不足。

S130、根据各应用程序的内存值确定禁止自启动的应用程序,在下一次系统重启时,对禁止自启动的应用程序禁止自启动。

其中,自启动指的是当系统开机时,应用程序不需用户的指令而自动启动并在后台运行。目前许多应用程序具有自启动功能,导致即使用户没有开启该应用程序,应用程序也会在后台运行,并占用内存资源。在系统启动时,禁止应用程序自启动可节省内存资源,保证智能终端的正常运行。

本实施例中,当检测到当前运行总内存值大于预设阈值时,根据各应用程序的内存值确定禁止自启动的应用程序,并提醒用户系统当前内存资源即将不足,是否立即重新启动系统。当用户选择是,立即重新启动系统,若用户选择否,则等待系统的下一次手动重启。在系统重启时,将禁止自启动的应用程序禁止自启动。示例性的,当检测到当前运行总内存值大于预设阈值时,系统确定禁止自启动的应用程序包括360安全卫士和360杀毒,则在系统下一次重启时,禁止360安全卫士和360杀毒自启动。

本实施例中,禁止应用程序自启动时基于智能终端系统框架层的修改,无须用户获得root权限,提高了系统的安全性。

本实施例的技术方案,通过统计系统的内存信息,在当前运行总内存值大于预设阈值时根据各应用程序的内存值确定禁止自启动的应用程序,在下一次系统重启时,对禁止自启动的应用程序禁止自启动,代替了用户手动进行自启动设置,解决了当自启动应用程序过多导致内存资源不足,用户手动自启动设置操作复杂,安全风险大的问题,实现了系统自动控制应用程序的自启动。

在上述技术方案的基础上,步骤S130还可以是:

若当前运行总内存值不大于预设阈值,则在预设时间间隔后重新获取当前系统运行的内存信息,判断当前运行总内存值是否大于预设阈值。

本实施例中,当检测到当前运行总内存值小于或者等于预设阈值时,系统内的内存检测模块进入休眠状态,在预设时间间隔后重新检测系统的内存信息,确定系统是否存在内存不足的情况。其中,预设时间间隔可以是15分钟。

根据预设时间间隔循环检测系统的内存信息,避免用户打开应用程序过多时出现内存不足的情况,保证系统内存充足,智能终端基础业务的正常运行。

实施例二

图2是本发明实施例提供的自启动方法的流程图,在上述实施例一的基础上,进一步的将根据各应用程序的内存值确定禁止自启动的应用程序优化为:根据各应用程序的内存值确定内存值排序列表;根据内存值排序列表确定禁止自启动的应用程序。相应的,该方法具体包括:

S210、获取当前系统运行的内存信息,其中,内存信息包括运行总内存值和各应用程序的内存值。

S220、判断当前运行总内存值是否大于预设阈值。

若是,则执行步骤S230,如不是,则经过预设时间间隔返回执行步骤S210。

S230、若当前运行总内存值大于预设阈值,根据各应用程序的内存值确定内存值排序列表。

其中,不同应用程序占用的内存资源不同,将各应用程序按照占用内存值由高到低进行排序,形成内存值排序列表。

S240、根据内存值排序列表确定禁止自启动的应用程序。

示例性的,可以将内存值排序列表中内存值最高的应用程序作为禁止自启动的应用程序,快速降低系统占用的内存资源。

S250、在下一次系统重启时,禁止应用程序自启动。

本实施例的技术方案,通过统计系统的内存信息,在当前运行总内存值大于预设阈值时根据各应用程序的内存值确定禁止自启动的应用程序,在下一次系统重启时,对禁止自启动的应用程序禁止自启动,代替了用户手动进行自启动设置,解决了当自启动应用程序过多导致内存资源不足,用户手动自启动设置操作复杂,安全风险大的问题,实现了系统自动控制应用程序的自启动。

实施例三

图3是本发明实施例三提供的自启动方法的流程图,在上述实施例的基础上,进一步提供了根据内存值排序列表确定禁止自启动的应用程序的方法,相应的,该方法具体包括:

S310、获取当前系统运行的内存信息,其中,内存信息包括运行总内存值和各应用程序的内存值。

S320、判断当前运行总内存值是否大于预设阈值。

若是,则执行步骤S330,如不是,则经过预设时间间隔返回执行步骤S310。

S330、根据各应用程序的内存值确定内存值排序列表。

S340、将内存值最高的应用程序的包名添加至禁止自启动列表中。

其中,包名指的是应用程序对应的数据包的名称,禁止自启动列表指的是用于存放在系统下一次重启的时禁止自启动的应用程序的包名的列表,示例性的,禁止自启动列表可存放在FLASH中,便于系统在重启时读取该禁止自启动列表。

本实施例中,无须用户进入系统手动设置应用程序禁止自启动列表,更加智能,减少用户的学习成本。

S350、确定运行总内存与禁止自启动列表中的应用程序的内存值的差值。

其中,差值指的是将禁止自启动列表中的应用程序关闭后,系统中运行的应用程序占用的内存值,为了保证系统内存充足,运行总内存与禁止自启动列表中的应用程序的内存值的差值须小于系统设置的预设阈值。

需要说明的是,当禁止自启动列表中只有一个应用程序时,该程序的内存值是禁止自启动列表中的应用程序的内存值;当禁止自启动列表中有多个应用程序时,禁止自启动列表中的应用程序的内存值是多个应用程序的内存值之和。

S360、判断差值是否大于预设阈值。

若是,则执行步骤S370,若否,则执行步骤S380。

S370、在内存值排序列表中删除内存值最高的应用程序,形成新的内存值排序列表,并循序执行步骤S340、步骤S350和步骤S360,直到差值不大于预设阈值。

示例性的,系统的总内存为2G,预设阈值可以是1.9G,当前运行总内存值是1.97G,当前运行总内存值大于预设阈值,系统内存即将不足。将系统中正在运行的应用程序根据占用内存值进行排序,例如可以是,360安全卫士占用内存值为0.05G,360杀毒占用内存值为0.03G,电脑管家0.02G等。根据内存值排序列表,将360安全卫士的包名添加至禁止自启动列表中,检测运行总内存与禁止自启动列表中的应用程序的内存值的差值为1.92G,该差值大于预设阈值。将360安全卫士从内存值排序列表中删除,形成新的内存值排序列表,例如可以是360杀毒占用内存值为0.03G,电脑管家0.02G等,根据内存值排序列表,将360杀毒的包名添加至禁止自启动列表中,检测运行总内存与禁止自启动列表中的应用程序的内存值的差值为1.89G,该差值小于预设阈值,则确定禁止自启动的应用程序为360安全卫士和360杀毒。

S380、在下一次系统重启时,禁止应用程序自启动。

本实施例的技术方案,通过根据内存值排序列表与运行总内存与禁止自启动列表中的应用程序的内存值的差值确定禁止自启动的应用程序,代替了手动设置应用程序禁止自启动列表,解决了当自启动应用程序过多导致内存资源不足,用户手动自启动设置操作复杂,安全风险大的问题,实现了系统自动控制应用程序的自启动。

在上述实施例的基础上,步骤S380具体可以是:

当系统重启时,获取禁止自启动列表中的包名;

判断包名对应的应用程序的描述文件中是否存在自启动静态广播接收器注册;

若是,禁止自启动静态广播接收器注册。

其中,应用程序自启动原理为:系统在开机时向所有应用程序发送开机广播,若应用程序中配置有自启动静态广播接收器并且在系统中进行注册,则应用程序可接受系统发送的开机广播,并进行自启动。

本实施例中,当系统重启时,读取禁止自启动列表中的包名,检测包名对应的应用程序的描述文件中是否存在自启动静态广播接收器注册,若是,禁止自启动静态广播接收器在系统中注册,在系统发送开机广播后,应用程序不能接收到该开机广播,达到进行应用程序自启动的目的。若应用程序的描述文件中不存在自启动静态广播接收器注册,同样不能接收开机广播,不能实现自启动。需要说明的是,每个应用程序均可具有各自的静态广播接收器,互不影响。

本实施例中,不仅可控制开机广播事件的自启动,还可控制导致应用自启动的其他静态广播事件,示例性的,网络连接成功广播,USB插入广播等。其中,网络连接成功广播指的是当网络连接成功时,系统向应用程序发送网络连接成功广播,若应用程序中包含有网络连接自启动静态广播接收器注册,可接收网络连接成功广播并自行自启动。若在禁止自启动列表中的应用程序的描述文件中包含网络连接自启动静态广播接收器,同样可禁止网络连接自启动静态广播接收器注册,禁止应用程序在网络连接成功时自启动,扩大了应用程序自启动的控制范围。

本实施例的技术方案,通过禁止禁止自启动列表中包名对应的应用程序的描述文件中是否存在自启动静态广播接收器注册,实现了系统自动控制应用程序的自启动。

实施例四

图4是本发明实施例四提供的自启动装置的结构示意图,该装置适用于执行本发明实施例提供的自启动方法,具体的,该装置具体可以包括:

内存信息获取模块410,用于获取当前系统运行的内存信息,其中,内存信息包括运行总内存值和各应用程序的内存值;

内存判断模块420,用于判断当前运行总内存值是否大于预设阈值;

自启动控制模块430,用于若当前运行总内存值大于预设阈值,则根据各应用程序的内存值确定禁止自启动的应用程序,在下一次系统重启时,禁止应用程序自启动。

优选的,装置还包括:

内存信息循环检测模块440,用于判断当前运行总内存值是否大于预设阈值之后,若当前运行总内存值不大于预设阈值,则在预设时间间隔后重新获取当前系统运行的内存信息,判断当前运行总内存值是否大于预设阈值。

优选的,自启动控制模块430包括:

内存值排序单元431,用于根据各应用程序的内存值确定内存值排序列表;

禁止自启动应用确定单元432,用于根据内存值排序列表确定禁止自启动的应用程序。

优选的,禁止自启动应用确定单元432包括:

禁止自启动包名确定子单元4321,用于执行步骤A:将内存值最高的应用程序的包名添加至禁止自启动列表中;

差值确定子单元4322,用于执行步骤B:确定运行总内存与禁止自启动列表中的应用程序的内存值的差值;

差值判断子单元4323,用于执行步骤C:判断差值是否大于预设阈值;

循环检测子单元4324,用于若差值大于预设阈值,在内存值排序列表中删除内存值最高的应用程序,形成新的内存值排序列表,并循序执行步骤A、步骤B和步骤C,直到差值不大于预设阈值。

优选的,自启动控制模块430包括:

包名获取单元433,用于当系统重启时,获取禁止自启动列表中的包名;

自启动判断单元434,用于判断包名对应的应用程序的描述文件中是否存在自启动静态广播接收器注册;

自启动禁止单元435,用于若包名对应的应用程序的描述文件中存在自启动静态广播接收器注册,禁止自启动静态广播接收器注册。

本发明实施例提供的自启动装置可执行本发明任意实施例所提供的自启动方法,具备执行方法相应的功能模块和有益效果。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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