The AOSP source code previews a possible feature of a future version of Android: the application hibernation. This is how it appears after several commits Mention an application hibernation service that would be integrated into the system.

Work in this hibernation has only just begun, although it may be in time to the first Android 12 Developer Preview that, if they follow the same planning of previous years, they should be about a month away.

Hibernating apps that are not being used

In computing, hibernation is the process by which a process is shut down saving its state. When using it again, the state is loaded and you can continue using it as if nothing else. An example of this is Windows hibernation.

How to limit (or not) Android applications to control battery consumption

On Android, applications go through different states: started, paused, resumed, stopped, destroyed. Even if an application is stopped, it can be reactivated if certain conditions for which it has been registered are met, such as connecting to the Internet again, the mobile being restarted or charging. A new state that is about to arrive will be that of hibernation, as advanced by the AOSP code.

Hibernation

Hibernation is not a totally foreign concept in Android. Third-party applications, such as Greenify or SuperFreezZ, worked under the same premise: close, and keep closed, unused applications to prevent them from consuming resources. Android itself does not include a hibernation state so far, beyond various limitations that have been patched in battery saver systems and often extensively modified by layers of customization.

How this hibernation will work specifically is yet to be known, although the AOSP code explains a bit what it is. Applications that are not being actively used may hibernate, so that they can be “optimized for storage”:

System service that manages the hibernation state of applications, a state that applications can enter when they are not being actively used and can be optimized for storage. The policy for determining whether an application should hibernate is managed by the code in the PermissionController.

It is not entirely clear what this “optimization for your storage” means, although in practice it does not seem too difficult to the battery management policies that have been implemented in Android for a long time: apps that are not used frequently are limited to not being activated frequently, sometimes with the unpleasant side effect of missing notifications.

Via | XDA

Categorized in: