Improves performance by only creating the placeholder drawables for images and videos when there are images or videos, instead of doing it every time we call fromHtml. This makes a big difference in performance when there are a lot of AztecText views on the screen at once (i.e., in Gutenberg-Mobile).
Before this change, scrolling from the top to the bottom of a Gutenberg post containing 500 paragraph blocks could cause the device to allocate and deallocate over a gigabyte of data to create VectorDrawables and Bitmaps for image and video placeholders for every block. After this change, there is no memory allocated or deallocated for that purpose when there are no image or video spans in the HTML passed to Aztec.
👋 @planarvoid and @AmandaRiu ! I don't think there should be any issues, but would either of you want to take a look at this change and let me know if you have any concerns from a Day One perspective? 🙇
Improves performance by only creating the placeholder drawables for images and videos when there are images or videos, instead of doing it every time we call
fromHtml
. This makes a big difference in performance when there are a lot ofAztecText
views on the screen at once (i.e., in Gutenberg-Mobile).Before this change, scrolling from the top to the bottom of a Gutenberg post containing 500 paragraph blocks could cause the device to allocate and deallocate over a gigabyte of data to create VectorDrawables and Bitmaps for image and video placeholders for every block. After this change, there is no memory allocated or deallocated for that purpose when there are no image or video spans in the HTML passed to Aztec.
Please read the PR description in the WPAndroid repo for more information.
Test
Make sure strings will be translated:
strings.xml
as a part of the integration PR.