FreezeIt Background App Optimizer icon

FreezeIt Background App Optimizer

v2.1.1guidecommunity

Intelligent background application freezer leveraging Linux kernel cgroups and process freezer subsystems to eliminate standby battery drain and background wakelocks.

Community Package•Battery & Power Management•by JARK006•GPL-3.0-only•Updated Jul 12, 2022
Platforms:
✓ Magisk✓ KernelSU✓ APatch
Download v2.1.1Starting download...
freezeit-background-optimizer-v2.1.1.zip

Overview

FreezeIt Background App Optimizer (authored by JARK006) is a high-performance systemless battery optimization daemon designed to solve modern Android standby battery drain.

Modern mobile applications often spawn numerous background services, push monitors, analytics daemons, and tracking loops that keep the CPU in active awake states (wakelocks). Standard Android Doze helps, but is often bypassed by apps registering high-priority job schedulers. FreezeIt addresses this at the kernel level by placing non-essential processes into the Linux freezer cgroup.


Technical Architecture & How It Works

FreezeIt utilizes the Linux control group (cgroups) freezer subsystem (CONFIG_CGROUP_FREEZER):

1. Process State Management

When an application moves out of the foreground:

Foreground Activity -> App Minimized -> Grace Period (e.g. 30s) -> Kernel Freeze

The daemon writes the application’s process IDs (PIDs) into the cgroup freezer control file:

echo $PID > /sys/fs/cgroup/freezer/freezeit/cgroup.procs
echo "FROZEN" > /sys/fs/cgroup/freezer/freezeit/freezer.state

In the FROZEN state:

  • The Linux kernel scheduler skips all threads belonging to the task.
  • Zero CPU instructions are executed.
  • Memory remains locked in RAM, preventing cold-launch disk I/O when the user returns.

2. Resumption & Focus Handshake

When the user switches back to the application or a high-priority system broadcast arrives:

echo "THAWED" > /sys/fs/cgroup/freezer/freezeit/freezer.state

The threads resume execution immediately at their exact previous CPU instruction pointer with zero delay.


Configuration & Whitelist Management

Customize behavior via the local configuration files:

# Whitelist path
/data/adb/modules/freezeit/whitelist.txt

Add application package names (one per line) to keep them running continuously:

com.whatsapp
org.telegram.messenger
com.google.android.gms

Frequently Asked Questions

How does freezing differ from killing background apps?

Killing an app clears its memory, forcing a heavy CPU cold start when reopened. Freezing pauses the process in RAM via kernel cgroups (FROZEN state). It consumes zero CPU cycles or battery in standby, yet restores instantly when tapped.

Will I miss instant push notifications from chat apps?

Core messaging services (WhatsApp, Telegram, WeChat) are pre-whitelisted by default. You can also append any package name to /data/adb/modules/freezeit/whitelist.txt to exempt it.