Hibernate for Android

Hibernate for Android

Hibernate is a small Android utility which allows you to hibernate selected background processes. In fact, this just unloads the applications from memory by means of "killBackgroundProcesses" used internally by Android to free up resources. This method differs from killing applications in the system list of running processes in the way, that it allows applications to save their state before exit, so when you return to the hibernated process back, it will be restored to its previous state.

The utility can be usefull for developers who need to test how their applications behave while being unloaded and re-loaded by the system, as well as for other users searching for a way of system optimization on-the-fly.

You can find Hibernate in Google Play.

Only applications with low and medium priority (less than "foreground") are allowed for hibernation by design. Applications and services with priorities "perceptible" and "visible" are considered important for the system, and it's not advisable to kill them from the utility (please, use standard system list of running processes for this purpose). By default, only low priority processes are listed in Hibernate, but you may change this by the "Filter" option/action.

Here is some news about Hibernate 1.5

The app does now support service mode allowing for automatic background hibernating of specified processes. The service is loaded at Android boot. Attention: use the service mode with a caution. If some of hibernated processes are recreated constantly by themselves, the service may exhaust the battery.

The settings dialog for the service is added. Main parameters are: period in seconds between successive check-ups of running processes and hibernating anyone of them that's from the given list; number of times the service will try to hibernate insistent processes before giving up (this will preserve the battery life in a certain degree).

The service shows notifications about varios events. By clicking a notification one can open a window with current list of hibernated processes and list of insistent processes.

The list of hibernated processes can be edited, specifically it's possible to remove any process from the list (by doing so, it will be eliminated from hibernation).

When a process from hibernation list is brought into the front UI by a user, the process is eliminated from hibernation list.

System processes (the ones installed with the system) are shown in yellow in the main window. Insistent processes are shown in orange. If an app from the hibernation list was activated by user, it's highlighted as green. Both orange and green processes are not hibernated by service (despite the fact they remain in the hibernation list) until user hibernate them once again or the device is restarted. If the service is enabled the hibernation list is applied at start-up.

Many other changes are not covered by this small description.

More changes in recent versions

1.11, 1.12
A new feature added for automatic re-hibernation of foreground processes: they will be hibernated when device is locked, or by timeout - if a process is not used in foreground for more than 1 minute. The feature is disabled by default and should by enabled by corresponding option in the settings.

1.13
New features added: new apps can be added into the hibernation list from the list of all installed apps - find them on new page in the status dialog; apps can be filtered by name in the status dialog.

1.14, 1.15
Minor compatibility issue for Android 2.2 fixed.

1.16, 1.17
Bug fixes and improvements.

1.18
Implemented a workaround for Android bug that the system package manager dies while building a list of installed applications which is too long.

1.19, 1.20
Minor bugfixes, improvements, and changes in wording in the settings screen for better readability on small screens.

1.21
Added a handler for Android's system exception "Package manager has died", which may occur on devices where the list of installed apps is too long. This is a limitation of Android! In such cases Hibernate will show the error message instead of the lists. You can solve the problem by removing some unneeded apps and then kill and start Hibernate again.

1.22
  • A workaround is made for the known issue with Android 5.0 that active tasks can not be monitored anymore by design. Hibernate does now provide a special accessibility service, which must be enabled in the system Accessibility settings in order to get proper functioning of hibernation.
  • A new feature is added to open "app info" system dialog for any app by tapping its icon in the list.

Find more details in the app's FAQ.

1.23
A new option is added to specify timeout in minutes for rehibernation of previously activated tasks from the list (default - 1 minute, allowed range 1 - 10).

...

1.29
New workaround is made for new restrictions in public APIs made by Google in Android 5.1.1. Please find details on the dedicated page.


Описание на русском языке

2 comments: