We used to share memory between Dart strings and WTF::String objects by way of the Dart externalized strings. That used to be important when the DOM shared many strings between C++ and Dart. However, now that we don't retain strings in C++ much anymore, we don't need this complexity. This patch removes DartStringCache and the integration. It also unwinds several cases where we were converting back and forth between WTF::String and std::string for no reason. Now we use std::string more consistently. For the case of ParagraphBuilder::addText, we now take a raw const char*, which more closely matches the API the DartVM exposes. That means we do a single copy out of the VM and into the render tree at that point.
Flutter Engine
Flutter is a new way to build high-performance, cross-platform mobile apps. Flutter is optimized for today's, and tomorrow's, mobile devices. We are focused on low-latency input and high frame rates on Android and iOS.
Flutter is an early-stage open-source project. We are still missing core features like accessibility, text input, localization, and more. However, you can build demos and examples today. We hope you try it out and send us feedback.
-
For information about using Flutter to build apps, please see the getting started guide.
-
For information about contributing to the Flutter framework, please see the main Flutter repository.
-
For information about contributing code to the engine itself, please see CONTRIBUTING.md.
Community
Join us on IRC at #flutter on Freenode or join our mailing list,
flutter-dev@googlegroups.com.