← Back to all articles
Blog

Major APP update: refined UI, category-scrolling fixes, local caching and older-phone performance; global effect subtitles in EFV

Users recently reported that the APP stuttered on some phones from 6 years ago. This concerned me, so while studying flutter performance optimization this month, I spent considerable time rewriting much of the APP source. It now runs smoothly even on 6-year-old phones. I rewrote http request handling with new logic and the phone's sqlite database for local caching: subsequent requests to the same API read locally instead of from the server. Extensive code changes improve the experience on old phones and devices with limited memory. I also fixed two BUG issues: after changing category in a tab, a BUG prevented tapping the scrolling area at the category's top; and another BUG made infinite loading retrieve popular rather than newest category videos. Based on feedback, I refined the UI again: single-line titles left too much empty space in each item, so adjusted dimensions make the information more compact and attractive.

UI improvement screenshot

Changelog

  • One: Major APP update with rewritten http requests and local phone caching. Returned json is cached for 1 hour using sqlite; requests during that period read from the phone instead of the server.
  • Two: Substantial APP performance improvements, rewriting extensive UI code to remain smooth on phones from 6 years ago.
  • Three: Further UI refinement based on user feedback, adjusting title line height in video lists.
  • Four: Fixed APP BUG issues, including the untappable popular-video scrolling area in categories and loading popular rather than latest videos when requesting more content, both BUG issues now resolved.
  • Five: Updated FLUTTER and KOKLIN to their latest versions and upgraded androidSDK to 31.
  • Six: Added global effect subtitles to EFVCMS administration. When standard scrolling text or watermarks cannot satisfy complex requirements, write custom ASS effects that apply globally during transcoding. They can coexist with built-in scrolling text, watermarks and burned-in matching subtitle files. Customize fonts and any desired effects.

Effect-subtitle settings:

Result: