Terminating computer applications
First Claim
Patent Images
1. A computer-implemented method for managing computer applications, the method comprising:
- executing, by a computing system, multiple computer applications;
ranking, by the computing system, the computer applications based on times at which each of the computer applications was last in focus such that the ranking is based on, for each of the computer applications, an elapsed time that the computer application has been executing without being in focus,wherein the computer applications were in focus at different times, andwherein a computer application is in focus if it is in a foreground of a display and able to receive user input;
saving, by the computing system, state information for certain of the computer applications;
in response to a memory condition, terminating, by the computing system and based on the ranking, one or more of the computer applications, wherein an application window of one of the terminated computer applications lost focus, so as to be at least partially visible in a background of the display, before being terminated;
copying the at least partially visible application window;
displaying the copy of the at least partially visible application window after the one of the terminated computer applications has been terminated; and
subsequently reviving, by the computing system, the one of the terminated computer applications using the saved state information.
2 Assignments
0 Petitions
Accused Products
Abstract
The subject matter of this specification can be embodied in, among other things, a method that includes executing one or more computer applications and ranking the applications according to one or more criteria that change in response to a user'"'"'s interaction with the applications. State information for certain of the one or more applications is saved and one or more applications are terminated in response to a memory condition. Subsequently, one of the terminated applications is revived using the saved state information.
-
Citations
27 Claims
-
1. A computer-implemented method for managing computer applications, the method comprising:
-
executing, by a computing system, multiple computer applications; ranking, by the computing system, the computer applications based on times at which each of the computer applications was last in focus such that the ranking is based on, for each of the computer applications, an elapsed time that the computer application has been executing without being in focus, wherein the computer applications were in focus at different times, and wherein a computer application is in focus if it is in a foreground of a display and able to receive user input; saving, by the computing system, state information for certain of the computer applications; in response to a memory condition, terminating, by the computing system and based on the ranking, one or more of the computer applications, wherein an application window of one of the terminated computer applications lost focus, so as to be at least partially visible in a background of the display, before being terminated; copying the at least partially visible application window; displaying the copy of the at least partially visible application window after the one of the terminated computer applications has been terminated; and subsequently reviving, by the computing system, the one of the terminated computer applications using the saved state information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer-implemented system for managing computer applications, the system comprising:
-
one or more computer processors; an application manager, executable by the one or more computer processors, to classify computer applications according to a time at which each of the computer applications was last in focus such that the classification of the computer applications is based on, for each of the computer applications, an elapsed time that the computer application has been executing without being in focus, and to save state information for certain of the computer applications, wherein a computer application is in focus if it is in a foreground of a display and able to receive user input; an application terminator, executable by the one or more computer processors, to terminate one or more of the computer applications upon the occurrence of a memory shortage and based, at least in part, on the classification of the one or more of the computer applications, to copy an at least partially visible application window of one of the terminated computer applications that lost focus, so as to be at least partially visible in a background of the display, before being terminated, and to display the copy of the at least partially visible application window after the one of the terminated computer applications has been terminated; and a kernel, executable by the one or more computer processors, to, in response to user interaction with the one or more of the computer applications, revive a terminated computer application using the saved state information. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-implemented system, comprising:
-
computer memory to store a plurality of simultaneously-operating computer applications; an application manager; means for temporarily terminating and relaunching the computer applications in response to a computer memory condition by ranking the computer applications according to times at which particular of the computer applications were last in a foreground of a display and able to receive user input such that the ranking is based on, for each of the computer applications, an elapsed time that the computer application has been executing without being in the foreground of the display and able to receive user input; and an application terminator, executable by one or more computer processors, to copy an at least partially visible application window of one of the terminated computer applications that lost focus, so as to be at least partially visible in a background of the display, before being terminated, and to display the copy of the at least partially visible application window after the one of the terminated computer applications has been terminated.
-
-
24. A computer-implemented method, comprising:
-
executing, by a computing system, multiple computer applications; ranking, by the computing system, the computer applications based on times at which each of the computer applications was last in focus such that the ranking is based on, for each of the computer applications, an elapsed time that the computer application has been executing since last losing focus, wherein the computer applications were in focus at different times, and wherein a computer application is in focus if it is in a foreground of a display and able to receive user input; saving, by the computing system, state information for certain of the computer applications; detecting, by the computing system, a pending memory shortage or that the computing system has run out of memory, and in response, terminating, by the computing system, a particular one of the computer applications that has a lowest ranking among the computer applications, wherein an application window of the particular one of the computer applications lost focus, so as to be at least partially visible in a background of the display, before being terminated; copying the at least partially visible application window; displaying the copy of the at least partially visible application window after the particular one of the terminated computer applications has been terminated; and identifying, by the computing system and after the particular one of the computer applications has been terminated, a user attempt to return to the particular one of the computer applications, and as a result, reviving the particular one of the computer applications using the saved state information. - View Dependent Claims (25, 26, 27)
-
Specification