一种保护应用程序数据的方法和装置的制造方法

文档序号:9929756阅读:207来源:国知局
一种保护应用程序数据的方法和装置的制造方法
【技术领域】
[0001]本发明属于智能终端领域,尤其涉及一种保护应用程序数据的方法和装置。
【背景技术】
[0002]安卓(Android)系统是一个多任务系统,可以同时运行多个进程,进程的生命周期都由系统控制,即使用户关掉了程序的屏显,进程依然存在于内存之中,目的是为了下次能快速启动。如此,随着系统运行时间的加长,内存会越来越少,系统内核(kernel)定时执行一次检查,杀死一些进程来释放内存,该机制称为低内存杀死(Low Memory Killer)机制。
[0003]现有的Low Memory Killer机制是基于Linux操作系统的内存不足(Out OfMemory, 00M)规则改进而来的,通过进程的参数oom_adj与该进程占用内存的大小决定要杀死的进程,其中,参数oom_adj的大小与进程的类型、进程被调度的次序等有关。每个应用程序的oom_adj都有一个值(以下简称oom_adj值),该值越小,该应用程序越重要,被系统杀死的可能性越低。Low Memory Killer驱动程序(Driver)在用户空间指定了一组内存临界值以及与之--对应的一组oom_adj值,当系统的剩余内存位于内存临界值中的一个范围内时,如果一个进程的oom_adj值大于或等于这个临界值,对应的进程就会被杀死。
[0004]现有的Low Memory Killer机制虽然定期杀死了一些后台进程,释放了系统的内存,保证了前台应用程序的高效运行,然而,该机制是在用户并不知情的前提下运行的,即Low memory killer机制在杀死某个进程前并不会通知用户。如此,就会导致一个较大的问题,即,被杀死的应用程序数据会丢失。例如,置于后台的、用户编辑到一半的短信或邮件,用户并没有将编辑到一半的信息进行保存就打开了其它一些应用。若由于系统内存不足,一旦Low Memory Killer机制杀死用户编辑一半的短信或邮件等应用程序,用户已编辑的信息就会丢失,降低了用户体验。

【发明内容】

[0005]本发明的目的在于提供一种保护应用程序数据的方法和装置,旨在解决现有的Low Memory Killer机制容易错杀一些不应被杀死的进程导致用户体验降低的技术问题。
[0006]本发明是这样实现的,一种保护应用程序数据的方法,所述方法包括:
[0007]接收系统发布的告警信息,所述告警信息至少包括即将被杀死的进程的标识;
[0008]判断所述将被杀死的进程是否为当前进程;
[0009]若所述将被杀死的进程为所述当前进程,则对所述当前进程对应的应用程序的数据进行保护;
[0010]在重启所述应用程序时,根据所述施行的保护恢复所述应用程序的数据。
[0011]本发明的另一目的在于提供一种保护应用程序数据的装置,所述装置包括:
[0012]接收模块,用于接收系统发布的告警信息,所述告警信息至少包括即将被杀死的进程的标识;
[0013]判断模块,用于判断所述将被杀死的进程是否为当前进程;
[0014]保护模块,用于若所述判断模块的判断结果为所述将被杀死的进程为所述当前进程,则对所述当前进程对应的应用程序的数据进行保护;
[0015]恢复模块,用于在重启所述应用程序时,根据所述施行的保护恢复所述应用程序的数据。
[0016]从上述本发明技术方案可知,由于在杀死某个进程之前,通过告警信息的发布,对即将被杀死的进程是否是当前进程进行了判断;在判断将被杀死的进程为当前进程后,对当前进程对应的应用程序的数据进行了保护。因此,与现有技术提供的Low Memory Killer机制“粗暴地”杀死某个进程相比,本发明提供的方法使得即使在内存不足时,进程仍然能够不被滥杀,而是提前采取措施,有效地保护了正在运行的应用程序的数据,提高了用户的体验。
【附图说明】
[0017]图1是本发明实施例一提供的保护应用程序数据的方法的实现流程示意图;
[0018]图2是本发明实施例二提供的保护应用程序数据的方法的实现流程示意图;
[0019]图3是本发明实施例三提供的保护应用程序数据的方法的实现流程示意图;
[0020]图4是本发明实施例四提供的保护应用程序数据的方法的实现流程示意图;
[0021]图5是本发明实施例五提供的保护应用程序数据的方法的实现流程示意图;
[0022]图6是本发明实施例六提供的保护应用程序数据的方法的实现流程示意图;
[0023]图7是本发明实施例七提供的保护应用程序数据的装置的结构示意图;
[0024]图8是本发明实施例八提供的保护应用程序数据的装置的结构示意图;
[0025]图9是本发明实施例九提供的保护应用程序数据的装置的结构示意图;
[0026]图10是本发明实施例十提供的保护应用程序数据的装置的结构示意图;
[0027]图ΙΙ-a是本发明实施例十一提供的保护应用程序数据的装置的结构示意图;
[0028]图ΙΙ-b是本发明实施例十二提供的保护应用程序数据的装置的结构示意图;
[0029]图11-c是本发明实施例十三提供的保护应用程序数据的装置的结构示意图;
[0030]图ΙΙ-d是本发明实施例十四提供的保护应用程序数据的装置的结构示意图。
【具体实施方式】
[0031]为了使本发明的目的、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0032]本发明实施例提供一种保护应用程序数据的方法,所述方法包括:接收系统发布的告警信息,所述告警信息至少包括即将被杀死的进程的标识;判断所述将被杀死的进程是否为当前进程;若所述将被杀死的进程为所述当前进程,则对所述当前进程对应的应用程序的数据进行保护;在重启所述应用程序时,根据所述施行的保护数据恢复所述应用程序的运行。本发明实施例还提供相应的保护应用程序数据的装置。以下分别进行详细说明。
[0033]请参阅附图1,是本发明实施例一提供的保护应用程序数据的方法的实现流程,其基于Low Memory Killer机制,主要包括以下步骤SlOl至步骤S104:
[0034]S101,接收系统发布的告警信息,所述告警信息至少包括即将被杀死的进程的标识。
[0035]在本实施例中,系统发布的告警信息可以是系统基于Low Memory Killer发布,即,系统发现当前内存不足,需要通过杀死某个或某些进行来释放内存。该告警信息除了包含即将被杀死的进程的标识(ID)之外,还可以包含即将被杀死的进程的名称和占用的内存大小等信息。
[0036]S102,判断将被杀死的进程是否为当前进程。
[0037]由于当前进程对应的应用程序可能对用户而言是不能或不宜中途终止的应用程序,例如,短信或QQ等即时通信应用程序,这一类的应用程序的突然终止会给用户带来不好的体验,因此,在本实施例中,需要对将被杀死的进程是否为当前进程进行判断。
[0038]S103,若步骤S102的判断结果是将被杀死的进程为当前进程,则对所述当前进程对应的应用程序的数据进行保护。
[0039]进程是应用程序的运行实例,也是应用程序的一次动态执行。若将被杀死的进程为
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1