Mobile Development 12 min read

Optimizing Startup Process for Platform-Scale Mobile Apps: The Rocket Framework at Trip.com

This article shares Trip.com’s experience in redesigning the mobile app launch process through componentization, concurrent initialization, visual monitoring, and automated experiments, culminating in the Rocket framework that reduced startup time by over 40% while keeping modules isolated and crash‑resilient.

Ctrip Technology
Ctrip Technology
Ctrip Technology
Optimizing Startup Process for Platform-Scale Mobile Apps: The Rocket Framework at Trip.com

Background

Driven by Ctrip’s global expansion, the International Business Unit (IBU) has seen rapid growth, leading the Trip.com app to integrate an ever‑increasing number of business lines. This growth exposed significant startup‑time and maintainability issues.

Problem Statement

The team needed to manage the launch process and optimize startup time. After several iterations, they achieved a stable, low‑latency startup and built a monitoring system that keeps launch time consistently low across versions.

General Startup Flow

Typical Android/iOS launch consists of three stages: (1) entry point, (2) home page, and (3) business‑line page. All steps execute synchronously, which makes the process simple but time‑consuming and hard to maintain, especially when many modules require initialization.

Framework‑Level Rethink

To address these challenges, the team introduced a framework‑driven approach focusing on componentization, concurrent execution, isolation of business modules, visualized monitoring, and crash risk mitigation.

2.1 Componentization

Each business module (e.g., Hotel, Storage, ImageLoader) keeps its initialization code within its own project, while the launch framework orchestrates execution. This decouples modules, enables independent compilation, and supports true component‑based architecture.

2.2 Concurrent Execution

The framework runs independent initialization tasks in parallel, maximizing CPU utilization. Factors such as I/O‑ vs CPU‑bound tasks, thread priority, and dependency relationships are considered, though precise measurement is difficult.

2.3 Business‑Module Isolation

Modules that do not depend on each other can initialize simultaneously, and a module’s failure only affects its own functionality, preventing a full‑app crash.

2.4 Startup Visualization

A visual dashboard shows each task’s duration, dependencies, and timeline, allowing developers, testers, and product managers to quickly identify bottlenecks and track improvements across releases.

2.5 Crash Risk Mitigation

If a module crashes (e.g., Hotel), the framework isolates the failure so other features (flight, train) remain usable while surfacing the issue to the responsible team.

Rocket Startup Framework

The solution, named Rocket , provides three core capabilities: (1) a cross‑platform (Android/iOS) launch framework, (2) automated experiments to tune parameters, and (3) monitoring for both debug and release builds.

3.1 Cross‑Platform Launch Framework

Launch tasks are defined in each module and collected via compile‑time annotations or configuration files. The framework distributes and executes these tasks, handling dependencies through a directed acyclic graph (DAG) and using CAS‑based locks to enforce order.

3.2 Automated Experiment Design

Because many factors (thread‑pool size, task priority, first‑launch effects) are hard to model analytically, the team runs automated experiments on representative devices using Appium to collect launch metrics, then manually adjusts parameters (e.g., thread count) based on the results.

3.3 Monitoring & Visualization

Experiment data is reported alongside production data, enabling the same front‑end visualization (Nemo) to be used in both testing and live environments.

Results & Future Work

With Rocket, Trip.com reduced app startup time by more than 40% and maintained low launch times across multiple releases without heavy maintenance. Remaining work includes further optimization of the task scheduler and enhancing the visualization dashboard.

concurrencycomponentizationmobile performanceapp startupRocket frameworkTrip.com
Ctrip Technology
Written by

Ctrip Technology

Official Ctrip Technology account, sharing and discussing growth.

0 followers
Reader feedback

How this landed with the community

login Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.