SmartClose aims to improve your battery autonomy by intelligently closing applications

 

  SmartClose is a tweak launched in Cydia over the past few days, and it promises to improve battery life by intelligently closing applications. The developer of the tweak, the well-known Ryan Petrich, explains that the applications for iDevices are not completely closed when we leave them using the Home button, they remain "frozen" in iOS for 10 minutes, after which they are deactivated, saved in memory and ready to be reopened and used from the last screen in which I used them.

As of iOS 4, all apps are allowed to run in the background for a period of 10 minutes, before being put into a deep frozen state. There are additional scenarios where an app can run for longer or be exempted from the frozen state, including when playing or recording audio, when providing a VoIP connection, or when GPS navigation is being used. Newer iOS versions have added additional scenarios where an app can be running in the background.

  This technique excludes applications that play sound in the background, provide information for GPS navigation, allow the active maintenance of a VoIP call, etc., and when they finish their work, they are saved in memory. This process affects the autonomy of the battery, and if you do not use such applications, then SmartClose it can help you improve your battery autonomy by automatically saving applications in memory when you quit, without keeping them open for 10 minutes in the background and without keeping them running for various tasks.

  Using SmartClose you will no longer be able to receive navigation instructions, you will not be able to listen to music in the background or make VoIP calls without the respective application open, but you will save battery life. SmartClose is available for free in the repo: http://rpetri.ch/repo/ but use it responsibly.

Since then a number of "app quitting" tweaks have been released, all of which stop this background activity by killing apps and unloading them from memory entirely. This is wasteful. Killing apps forces a complete reload the next time the app is launched, which can be expensive in terms of how much time and battery power it takes to do so. In that scenario, binaries have to be loaded from disk, checked for code signing, UIKit startup has to happen with handshakes between the iOS and the app to create windows and views, and that's just the bare minimum necessary to get a blank window (doesn 't includes loading any data or functional UI of any kind). Sometimes this can result in better performance if one of those background apps is using CPU, network or too much memory at the expense of the active app.

SmartClose does it differently. It takes all apps that are running in the background and puts them immediately into the deep freeze state. This is a state where the app cannot perform any network, location updates, or use the CPU or GPU at all, but is resident in memory ready for very quick relaunches that use no additional battery. In the event iOS runs low on memory, it will pick one of the frozen apps to kill. Since frozen apps don't need to be asked politely to unload, iOS can just kill them and reclaim their memory very quickly.