Mobile Development 12 min read

FlutterBoost 2.0 Architecture Upgrade and iOS Performance Improvements

FlutterBoost 2.0 redesigns the hybrid architecture by assigning each Flutter page its own controller and view, eliminating screenshot‑based transitions, fixing white/black screen glitches, enhancing iOS surface management and lifecycle callbacks, adding extensive documentation and tests, while acknowledging a ~10 MB per‑page memory cost mitigated through stack limits and reuse.

Xianyu Technology
Xianyu Technology
Xianyu Technology
FlutterBoost 2.0 Architecture Upgrade and iOS Performance Improvements

Background: Large‑scale apps adopting Flutter need hybrid development due to native libraries. FlutterBoost 1.0 had issues such as page routing, white/black screens, and limited lifecycle handling.

Problem analysis: Flutter’s architecture evolved from a tightly coupled FlutterViewController‑Engine model to a decoupled one after version 1.5. However, FlutterBoost 1.0 still kept a single FlutterViewController, causing screenshot‑based page transitions that could block the main thread and lead to OOM.

Page white/black screen: CPU‑based screenshot caching caused occasional blank screens and memory spikes during page push/pop.

Lifecycle management: A single Flutter engine ties the FlutterViewController lifecycle to the whole app, making it unsuitable for mixed native‑Flutter stacks.

Open‑source issues: Insufficient documentation, test coverage, and unclear upgrade plan.

Solution – Architecture upgrade:

Page management: Each Flutter page now creates its own FlutterViewController/FlutterView, eliminating the need for screenshot caching.

Memory & stability: After the upgrade, white/black screen problems disappear, but each new VC adds ~10 MB memory (Anonymous VM and IOSurface). Analysis and mitigation strategies are provided.

IOSurface handling: Re‑implemented surface creation/destruction only on viewDidAppear/disappear to reduce redundant operations.

Lifecycle improvements: Added BoostContainerLifeCycle support on the Dart side for precise appear/disappear events.

Open‑source enhancements: Added more documentation, unit tests (~70 % coverage), and a release plan.

Stability fixes: Collected crash logs, reported engine bugs to Google, and applied work‑arounds for semantic object leaks and surface null‑pointer crashes.

Memory analysis after the upgrade shows an additional ~10 MB per VC, mainly from Anonymous VM and IOSurface.

IOSurface memory growth is explained and mitigated by limiting page stack depth and reusing FlutterVC instances.

Conclusion: FlutterBoost 2.0 resolves page transition glitches, simplifies code, improves memory usage and stability, and provides better lifecycle control. Future work includes more hybrid tests and API consistency.

For more details and the starter project, visit https://github.com/alibaba-flutter/flutter-boot.

FlutterflutterboostHybrid AppiOSMemory ManagementPerformance
Xianyu Technology
Written by

Xianyu Technology

Official account of the Xianyu technology team

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.