CN105677407A - 应用程序关闭方法和装置 - Google Patents

应用程序关闭方法和装置 Download PDF

Info

Publication number
CN105677407A
CN105677407A CN201511032627.6A CN201511032627A CN105677407A CN 105677407 A CN105677407 A CN 105677407A CN 201511032627 A CN201511032627 A CN 201511032627A CN 105677407 A CN105677407 A CN 105677407A
Authority
CN
China
Prior art keywords
application program
user
described application
run
closing
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.)
Granted
Application number
CN201511032627.6A
Other languages
English (en)
Other versions
CN105677407B (zh
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.)
Lenovo Beijing Ltd
Original Assignee
Lenovo Beijing 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 Lenovo Beijing Ltd filed Critical Lenovo Beijing Ltd
Priority to CN201511032627.6A priority Critical patent/CN105677407B/zh
Priority claimed from CN200810119902.1A external-priority patent/CN101673216B/zh
Publication of CN105677407A publication Critical patent/CN105677407A/zh
Application granted granted Critical
Publication of CN105677407B publication Critical patent/CN105677407B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44594Unloading

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

根据本申请的一个方面,提出了一种应用程序关闭方法和装置,其中,应用程序关闭方法包括以下步骤:在应用程序开启过程中,接收用户关闭所述应用程序的操作;隐藏所述应用程序对应的显示窗口以使得用户以为所述应用程序被关闭;在操作系统后台继续运行所述应用程序;以及在后台终止所述应用程序。通过本发明,可以改善企图关闭应用程序的用户的体验,不影响用户的后续操作,并保证用户数据的完整和应用程序不受破坏。

Description

应用程序关闭方法和装置
本申请为申请号200810119902.1,申请日2008年9月9日,申请名称为《应用程序关闭方法和装置》的分案申请。
技术领域
本发明涉及计算机领域,尤其涉及一种应用程序关闭方法和装置。
背景技术
普通用户时常会发生错误点击的操作,例如不小心开启了一个较大的应用程序时,用户想“反悔”,即希望马上关闭该应用程序,但是应用程序正在开启中,正在申请各种资源,因此系统无法及时响应关闭操作。一般地,对于特别是处理数据较大的应用程序而言(例如,打开一个超过100页的word文档操作,或者打开一个大于1小时的音视频文件),目前主流机器的完成时间约在10秒钟以上,这就意味着用户必须等待10s后,系统才能响应用户的关闭操作(这可能又需要数秒钟时间)。特别地,对于没有经验的用户,很可能会连续的点击关闭操作,造成系统死机。而如果CPU处于节能状态,应用程序错误开启造成的等待时间会更长,更易影响用户的体验,同时浪费了宝贵的电能,致使电池的有效工作时间变短。
现有的解决方案1:用户等待程序开启,再关闭。该方案的缺点是:等待时间较长,没有经验的用户容易错误操作,若此次计算机处于电池工作状态,也变相减少了电池的有效工作时间。
现有的解决方案2:操作系统提供的“立即关闭”功能。该方案的缺点是:由于是强行关闭应用程序,因此用户的数据有可能遭到破坏,应用程序也可能受到破坏,而且该方法需要很强的技术背景(用户需要判断对应的进程名称,以及较复杂的操作)。
发明内容
本申请实施例提供了一种应用程序关闭方法和装置,用于解决关闭应用程序时影响用户的后续操作,无法保证用户数据的完整,容易破坏应用程序的问题,实现了改善关闭应用程序的用户的体验,不影响用户的后续操作,并保证用户数据的完整和应用程序不受破坏,又能迅速减少因关闭操作带来的电力消耗的技术效果。
第一方面,本申请提供了一种应用程序关闭方法,包括:
在应用程序开启过程中,接收用户关闭所述应用程序的操作;
隐藏所述应用程序对应的显示窗口以使得用户以为所述应用程序被关闭;
在操作系统后台继续运行所述应用程序;以及
在后台终止所述应用程序。
可选的,通过将所述应用程序的中央处理单元运行时间恢复为初始值来继续运行所述应用程序。
可选的,通过模拟用户正常关闭所述应用程序的过程来终止所述应用程序。
第二方面,本申请提供了一种应用程序关闭装置,包括:
暂停模块,用于在应用程序开启过程中,接收用户关闭所述应用程序的操作;隐藏所述应用程序对应的显示窗口以使得用户以为所述应用程序被关闭;
继续运行模块,用于在操作系统后台继续运行所述应用程序;以及
终止模块,用于在后台终止所述应用程序。
可选的,所述暂停模块包括:
初始值设置模块,用于将所述应用程序的中央处理单元运行时间恢复为所述初始值来继续运行所述应用程序。
可选的,所述终止模块包括:
模拟模块,用于模拟用户正常关闭所述应用程序的过程来终止所述应用程序。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本申请实施例中的技术方案中,在应用程序开启过程中,接收用户关闭所述应用程序的操作,然后隐藏所述应用程序对应的显示窗口,以使得用户以为所述应用程序被关闭。进一步,在操作系统后台继续运行所述应用程序,并在后台终止所述应用程序。所以,可以改善企图关闭应用程序的用户的体验,不影响用户的后续操作,并保证用户数据的完整和应用程序不受破坏。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据第一实施例的应用程序关闭方法的流程图;
图2是根据第二实施例的应用程序关闭方法的流程图;
图3是根据第一实施例的应用程序关闭装置的框图;
图4是根据第二实施例的应用程序关闭装置的框图;
图5是用户正常的开启和关闭应用程序的流程图;
图6是用户错误的开启应用程序的流程图;
图7是根据实施例的用户体验到的快捷流程的流程图。
具体实施方式
本申请实施例提供了一种应用程序关闭方法和装置,用于解决关闭应用程序时影响用户的后续操作,无法保证用户数据的完整,容易破坏应用程序的问题,实现了改善关闭应用程序的用户的体验,不影响用户的后续操作,并保证用户数据的完整和应用程序不受破坏,又能迅速减少因关闭操作带来的电力消耗的技术效果。
为了解决上述技术问题,本申请提供的技术方案思路如下:
在本申请实施例中的技术方案中,在应用程序开启过程中,接收用户关闭所述应用程序的操作,然后隐藏所述应用程序对应的显示窗口以使得用户以为所述应用程序被关闭。进一步,在操作系统后台继续运行所述应用程序,并在后台终止所述应用程序。所以,可以改善企图关闭应用程序的用户的体验,不影响用户的后续操作,并保证用户数据的完整和应用程序不受破坏。
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本申请实施例以及实施例中的具体特征是对本申请技术方案的详细的说明,而不是对本申请技术方案的限定,在不冲突的情况下,本申请实施例以及实施例中的技术特征可以相互组合。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本申请第一方面提供了一种应用程序关闭方法。图1是根据第一实施例的应用程序关闭方法的流程图。如图1所示,本申请第一实施例的应用程序关闭方法包括以下步骤:
S101:在应用程序开启过程中,接收用户关闭所述应用程序的操作。
S102:隐藏所述应用程序对应的显示窗口以使得用户以为所述应用程序被关闭。
S103:在操作系统后台继续运行所述应用程序。
S104:在后台终止所述应用程序。
在S101中,当应用程序处于开启过程中,接收用户关闭应用程序的操作,例如点击应用程序关闭标识,或者从任务列表中结束应用程序的任务等,本申请不做具体限制。
接下来,S102中,隐藏应用程序对应的显示窗口(例如,利用EnumDesktopWindows调用)。由于用户在执行关闭应用程序的操作后,从视觉上观察不到应用程序对应的显示窗口,所以用户就会以为应用程序被关闭。
S102中将应用程序的显示窗口隐藏后,S103将在操作系统的后台继续运行应用程序。例如,利用Winlogon通知包技术或基于COM+的Winlogon通知包技术。
最后在S104中,在操作系统的后台终止应用程序,例如调用TerminateProcess接口等等。
由于在接收用户执行的关闭应用程序的操作后,就将应用程序的显示窗口隐藏起来,使得用户以为应用程序已被关闭,因此改善了关闭应用程序的用户体验。同时,本申请实施例中的操作系统并未基于关闭应用程序的操作而立刻终止应用程序,而是在隐藏显示窗口后,在后台继续运行应用程序,然后才终止应用程序。所以避免了强行关闭应用程序而导致数据被破坏,保证了用户数据的完整和应用程序不受破坏。
其中,可以通过将应用程序的中央处理单元运行时间恢复为初始值来后台继续运行应用程序。可以通过模拟用户正常关闭应用程序的过程来终止应用程序。
在本申请第二实施例中,如图2所示,应用程序关闭方法也可以包括:
S201:在应用程序开启过程中,接收用户关闭所述应用程序的操作。
S202:暂停所述应用程序的执行并隐藏所述应用程序对应的显示窗口以使得用户以为所述应用程序被关闭。
S203:在满足预定条件的情况下,在操作系统后台继续运行所述应用程序。
S204:在特定时间间隔后,在后台终止所述应用程序。
第二实施例中S101与S201相同,所以与第一实施例中的相同之处这里就不再重复赘述了。
S202,暂停应用程序的执行(例如,利用SetPriorityClass调用将进程设置为IDLE_PRIORITY_CLASS)并隐藏应用程序对应的显示窗口(例如,利用EnumDesktopWindows调用)。
S203,在满足预定条件的情况下,在操作系统后台继续运行应用程序(例如,利用Winlogon通知包技术或基于COM+的Winlogon通知包技术)。
S204,在特定时间间隔后,终止应用程序(例如,调用TerminateProcess接口等等)。
其中,可以通过将应用程序的中央处理单元运行时间从初始值改为零来暂停应用程序。预定条件可以是系统空闲和/或电力充足。可以通过将应用程序的中央处理单元运行时间恢复为初始值来继续运行应用程序。可以通过模拟用户正常关闭应用程序的过程来终止应用程序。特定时间间隔可以是从暂停应用程序的执行一直到应用程序能正常响应执行关闭操作的时间。可以在暂停应用程序的执行并隐藏应用程序对应的显示窗口之后,将内存中的与应用程序相关的信息镜向至硬盘中(例如,利用SetProcessWorkingSetSize将驻留内存置换到交互分区中等等);以及可以在操作系统后台继续运行应用程序之前,将硬盘中的与应用程序相关的信息恢复至内存中。可以在将内存中的与应用程序相关的信息镜向至硬盘中之后,释放应用程序占用的系统资源;以及可以在将硬盘中的与应用程序相关的信息恢复至内存中之前,恢复应用程序所占用的系统资源。其中,系统资源可以包括内部存储器资源。
基于与前述实施例中应用程序关闭方法同样的发明构思,本申请第二方面还提供一种应用程序关闭装置,如图3所示,包括:
暂停模块301,用于在应用程序开启过程中,接收用户关闭所述应用程序的操作;隐藏所述应用程序对应的显示窗口以使得用户以为所述应用程序被关闭;
继续运行模块302,用于在操作系统后台继续运行所述应用程序;以及
终止模块303,用于在后台终止所述应用程序。
其中,暂停模块301包括:
初始值设置模块,用于将所述应用程序的中央处理单元运行时间从初始值改为零。
具体来讲,所述初始值设置模块还用于将所述应用程序的中央处理单元运行时间恢复为所述初始值来继续运行所述应用程序。
其中,终止模块303包括:
模拟模块,用于模拟用户正常关闭所述应用程序的过程来终止所述应用程序。
上述为第一实施例中应用程序关闭装置的结构。在第二实施例中,如图4所示,应用程序关闭装置也可以包括:
暂停模块401,用于暂停应用程序的执行并隐藏应用程序对应的显示窗口;继续运行模块402,用于在满足预定条件的情况下,在操作系统后台继续运行应用程序;以及终止模块403,用于在特定时间间隔后,终止应用程序。
其中,暂停模块401可以包括:初始值设置模块,用于将应用程序的中央处理单元运行时间从初始值该为零。预定条件可以是系统空闲和/或电力充足。其中,初始值设置模块还用于将应用程序的中央处理单元运行时间恢复为初始值来继续运行应用程序。终止模块403可以包括:模拟模块,用于模拟用户正常关闭应用程序的过程来终止应用程序。预定时间间隔可以是从暂停应用程序的执行一直到应用程序能正常响应执行关闭操作的时间。
应用程序关闭装置还可以包括:信息镜向模块,用于在暂停模块401暂停应用程序的执行并隐藏应用程序对应的显示窗口之后,将内存中的与应用程序相关的信息镜向至硬盘中;以及信息恢复模块,用于在继续运行模块402在操作系统后台继续运行应用程序之前,将硬盘中的与应用程序相关的信息恢复至内存中。
应用程序关闭装置还可以包括:系统资源释放模块,用于在信息镜向模块将信息镜向至硬盘中之后,将应用程序占用的系统资源全部释放;以及系统资源恢复模块,用于在信息恢复模块将信息恢复至内存中之前,恢复应用程序所占用的系统资源。其中,系统资源包括内部存储器资源。
在另一个实施例中,应用程序开启时,操作系统为用户预留一个“反悔”的快捷操作,用户可以在应用程序打开过程中“关闭”它。所谓的“关闭”,在前台的表现是应用程序的界面消失,用户以为其已经关闭;在后台的表现是,操作系统后台在短时间内停止其申请任何新的资源,并在系统不繁忙的时候,完成原有应用程序的完整开启和正常关闭的全过程。这样即省电、又能提高用户体验。
如图5和图6所示,用时间轴的对比来说明具体的实现流程。图5为操作系统中用户应用程序正常启动和关闭的过程。图6为操作系统中用户错误开启某个应用程序后,意图关闭再开启正确应用程序的过程。由于程序正在开启过程中,因此用户的关闭操作很可能无法得到响应。用户只能在程序开启完毕后再关闭之,然后再开启正确的应用程序。很多情况下,由于用户强行中断并多次执行了关闭操作,造成操作系统调度出现问题,从而引起死机。
图7是根据实施例的用户体验到的快捷流程的流程图。用户在应用程序启动后发现操作有误,于是通过某个预设的操作启动本发明的流程。首先,将停止应用程序的启动过程。所谓停止应用程序的启动过程,包括在一定时间内停止应用程序申请新的资源并关闭应用程序的窗口等;另外,系统还会记录应用程序已经申请的资源,例如已经打开的文件等。
接下来,用户可以继续进行正确的操作;而系统则在空闲时在后台继续执行打开应用程序的剩下启动过程,进而再在后台对此程序进行正常的关闭。
注意,个别情况下,如果用户在接下来的正确操作中所申请的资源与正在后台关闭的资源冲突时,系统会给出等待的提示。
通过以上实施例,能够及时响应用户的中断操作,提高用户体验;由于关闭过程在后台进行,所以不影响用户的后续操作;以及可以保证用户数据的完整和应用程序不受破坏。
前述图1-图2实施例中的应用程序关闭方法的各种变化方式和具体实例同样适用于本实施例的应用程序关闭装置,通过前述对方法的详细描述,本领域技术人员可以清楚的知道本实施例中装置的实施方法,所以为了说明书的简洁,在此不再详述。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本申请实施例中的技术方案中,在应用程序开启过程中,接收用户关闭所述应用程序的操作,然后隐藏所述应用程序对应的显示窗口以使得用户以为所述应用程序被关闭。进一步,在操作系统后台继续运行所述应用程序,并在后台终止所述应用程序。所以,可以改善企图关闭应用程序的用户的体验,不影响用户的后续操作,并保证用户数据的完整和应用程序不受破坏。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (6)

1.一种应用程序关闭方法,包括:
在应用程序开启过程中,接收用户关闭所述应用程序的操作;
隐藏所述应用程序对应的显示窗口以使得用户以为所述应用程序被关闭;
在操作系统后台继续运行所述应用程序;以及
在后台终止所述应用程序。
2.如权利要求1所述的方法,其特征在于,通过将所述应用程序的中央处理单元运行时间恢复为初始值来继续运行所述应用程序。
3.如权利要求1所述的方法,其特征在于,通过模拟用户正常关闭所述应用程序的过程来终止所述应用程序。
4.一种应用程序关闭装置,包括:
暂停模块,用于在应用程序开启过程中,接收用户关闭所述应用程序的操作;隐藏所述应用程序对应的显示窗口以使得用户以为所述应用程序被关闭;
继续运行模块,用于在操作系统后台继续运行所述应用程序;以及
终止模块,用于在后台终止所述应用程序。
5.如权利要求4所述的应用程序关闭装置,其特征在于,所述暂停模块包括:
初始值设置模块,用于将所述应用程序的中央处理单元运行时间恢复为所述初始值来继续运行所述应用程序。
6.如权利要求5所述的应用程序关闭装置,其特征在于,所述终止模块包括:
模拟模块,用于模拟用户正常关闭所述应用程序的过程来终止所述应用程序。
CN201511032627.6A 2008-09-09 2008-09-09 应用程序关闭方法和装置 Active CN105677407B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511032627.6A CN105677407B (zh) 2008-09-09 2008-09-09 应用程序关闭方法和装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201511032627.6A CN105677407B (zh) 2008-09-09 2008-09-09 应用程序关闭方法和装置
CN200810119902.1A CN101673216B (zh) 2008-09-09 2008-09-09 应用程序关闭方法和装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN200810119902.1A Division CN101673216B (zh) 2008-09-09 2008-09-09 应用程序关闭方法和装置

Publications (2)

Publication Number Publication Date
CN105677407A true CN105677407A (zh) 2016-06-15
CN105677407B CN105677407B (zh) 2019-01-15

Family

ID=56298590

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511032627.6A Active CN105677407B (zh) 2008-09-09 2008-09-09 应用程序关闭方法和装置

Country Status (1)

Country Link
CN (1) CN105677407B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106657610A (zh) * 2016-11-17 2017-05-10 宇龙计算机通信科技(深圳)有限公司 终端应用启动控制方法及装置
CN106708558A (zh) * 2016-10-31 2017-05-24 腾讯科技(深圳)有限公司 关闭应用程序的方法和装置
CN108089896A (zh) * 2017-12-20 2018-05-29 深圳豪客互联网有限公司 一种程序关闭画面控制方法及装置
CN109117631A (zh) * 2018-07-05 2019-01-01 武汉斗鱼网络科技有限公司 一种程序退出的方法及相关设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801096A (zh) * 2005-01-05 2006-07-12 国际商业机器公司 在计算机系统中用于对进程进行休眠的方法和系统
WO2007024035A1 (en) * 2005-08-26 2007-03-01 Ktf Technologies, Inc. User terminal for performing a plurality of applications simultaneously
US20090187888A1 (en) * 2008-01-21 2009-07-23 International Business Machines Corporation Method for singleton process control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1801096A (zh) * 2005-01-05 2006-07-12 国际商业机器公司 在计算机系统中用于对进程进行休眠的方法和系统
WO2007024035A1 (en) * 2005-08-26 2007-03-01 Ktf Technologies, Inc. User terminal for performing a plurality of applications simultaneously
US20090187888A1 (en) * 2008-01-21 2009-07-23 International Business Machines Corporation Method for singleton process control

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708558A (zh) * 2016-10-31 2017-05-24 腾讯科技(深圳)有限公司 关闭应用程序的方法和装置
CN106708558B (zh) * 2016-10-31 2020-06-23 腾讯科技(深圳)有限公司 关闭应用程序的方法和装置
CN106657610A (zh) * 2016-11-17 2017-05-10 宇龙计算机通信科技(深圳)有限公司 终端应用启动控制方法及装置
CN108089896A (zh) * 2017-12-20 2018-05-29 深圳豪客互联网有限公司 一种程序关闭画面控制方法及装置
CN109117631A (zh) * 2018-07-05 2019-01-01 武汉斗鱼网络科技有限公司 一种程序退出的方法及相关设备

Also Published As

Publication number Publication date
CN105677407B (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
CN101673216B (zh) 应用程序关闭方法和装置
CN100585538C (zh) 集成电路及其减少电源消耗的方法
US5721922A (en) Embedding a real-time multi-tasking kernel in a non-real-time operating system
WO2010025644A1 (zh) 一种防打扰方法及终端
CN104503828A (zh) 一种进程管理方法及终端
CN1599893A (zh) Cpu断电的方法及其装置
WO2008148076A1 (en) Lazy kernel thread binding
CN105677407A (zh) 应用程序关闭方法和装置
CN108282697A (zh) 一种智能电视启动方法、装置、电子设备及存储介质
CN109168088A (zh) 一种智能电视系统的启动方法、装置及智能电视
CN104731593A (zh) 一种信息处理方法及电子设备
CN106569848A (zh) 终端及其应用程序的启动管理方法
CN106095055B (zh) 一种应用程序的关闭方法和装置
CN109614153A (zh) 多核芯片及系统
CN102375759B (zh) 利用有限状态机防止代码重入的方法
CN101266556A (zh) 一种多任务调度系统
CN106055365B (zh) 一种应用程序关闭方法和装置
CN110489294B (zh) 一种基于日志实时单步调试方法和装置
US20080313652A1 (en) Notifying user mode scheduler of blocking events
CN101866212A (zh) 一种多模式电源管理装置及管理方法
WO2018040177A1 (zh) 一种重新开机的方法及装置
CN103257894A (zh) 一种管理程序的方法及电子终端
WO2008154315A1 (en) Lazy kernel thread binding
CN107066284A (zh) 游戏启动方法、装置和终端
CN106951264A (zh) 一种开机时间优化方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant