How Taote Achieved Near‑Native Flutter Performance in Phase‑2 Optimizations

This article details Taote's second‑phase Flutter performance project, covering engine upgrades, a custom image library, a lightweight Flow‑View container, and Android scroll‑simulation tweaks that together delivered smoother scrolling, eliminated iOS lag, and brought frame rates close to native levels.

Alibaba Terminal Technology
Alibaba Terminal Technology
Alibaba Terminal Technology
How Taote Achieved Near‑Native Flutter Performance in Phase‑2 Optimizations

Background

Following the first‑phase "Basic Link Extreme Experience Optimization" project, Taote continued to pursue ultra‑smooth user experiences for its Flutter‑based app, focusing on both duration and fluidity in the second phase.

Optimization Effects

Phase 1 demonstrated that best‑practice business adjustments could improve performance without engine changes. In phase 2, after adopting the Hummer engine, developing a custom ExternalImage library, and creating the Flow‑View container, Taote achieved the following:

Significant smoothness gains with virtually no stutter on both Android and iOS.

Elimination of major iOS lag on low‑end devices.

Test data from version 4.14.0 shows consistent frame‑rate improvements across devices.

Key Technologies

Hummer Engine Upgrade

Taote integrated the UC‑customized Hummer engine to leverage advanced rendering optimizations. The upgrade addressed issues such as loading time, memory usage, and overall smoothness.

ExternalImage Library

To replace the tightly coupled CDNImage solution, Taote built ExternalImage, a non‑intrusive image library based on FFI that loads native pixel data. Benchmarks show it outperforms both CDNImage and texture‑based approaches in latency and smoothness.

Flow‑View Lightweight Streaming Container

Standard Flutter list widgets rebuild the entire list on data changes, which hampers performance in complex feed scenarios. Flow‑View introduces two main features:

Partial refresh, avoiding full rebuilds when loading more items.

Element and RenderObject reuse, enabling efficient insertion of new elements by recycling off‑screen objects.

Android Scroll‑Feel Adjustment

After an engine upgrade, Android scrolling felt less smooth due to changes in the BouncingScrollSimulation used for pull‑to‑refresh. Taote introduced a dynamic simulation selector that uses ClampingScrollSimulation for normal scrolling and switches to ScrollSpringSimulation at the scroll end, preserving native‑like feel while supporting refresh.

Summary and Outlook

The two‑phase optimization delivered noticeable smoothness improvements, with some pages surpassing native performance and low‑end devices maintaining high frame rates. Future work includes expanding performance monitoring across the full product line, broadening device coverage, and automating optimization workflows through low‑performance widget alerts and integrated performance gate tools.

References

Google Flutter Team, "Flutter Performance Profiling and Theory".

Idle Fish Cloud, "Doubling List Smoothness in Idle Fish App".

Android Developer Documentation, RecyclerView ViewHolder.

Performance Dog, "Jank and Stutter Metrics".

Taote, "Deep Optimization of Flutter Streaming Scenarios".

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

FlutterImage LoadingHummer Engine
Alibaba Terminal Technology
Written by

Alibaba Terminal Technology

Official public account of Alibaba Terminal

0 followers
Reader feedback

How this landed with the community

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.