Ba trạng thái khởi động khác nhau ở lượng việc hệ thống phải làm:
- Cold start: tiến trình chưa tồn tại — hệ thống tạo process, khởi tạo
Application, rồi dựng Activity đầu tiên. Chậm nhất và là mốc để tối ưu. - Warm start: process còn sống nhưng Activity phải dựng lại (vd vừa bị đẩy ra khỏi bộ nhớ). Nhanh hơn cold.
- Hot start: Activity vẫn trong bộ nhớ, chỉ đưa lại lên foreground. Nhanh nhất.
Tối ưu (chủ yếu nhắm cold start):
- Giữ Application.onCreate() và Activity.onCreate() thật gọn; hoãn khởi tạo nặng (analytics, SDK) sang sau màn hình đầu.
- Dùng App Startup library để gom và điều phối các initializer thay vì mỗi lib tự chạy ContentProvider.
- Tránh I/O/việc nặng trên main thread lúc khởi động; dùng lazy init.
- Tối ưu splash: dùng SplashScreen API, tránh layout khởi tạo phức tạp.
- Đo bằng Macrobenchmark và theo dõi startup time trên Android vitals; cân nhắc Baseline Profiles để giảm chi phí JIT lần chạy đầu.