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.