Continuous WebView flickering

Our application is a simple native app whose only responsibility is to launch a WebView and display web content. There are no complex UI layers, animations, frequent state updates, or background refresh mechanisms involved.

After recent Fire OS updates, users running our app on Fire TV devices and Fire TV Stick models are experiencing continuous WebView flickering.

The flickering:

Is not a full page refresh

Is not triggered by recomposition, activity recreation, or explicit reloads

Occurs intermittently, with the interval not fixed, but most commonly happening within every ~2 minutes

Continues indefinitely once it starts

This behavior makes the application unusable.

Troubleshooting & Isolation Performed
To rule out application-specific causes, we performed extensive isolation testing:

Built a brand-new minimal application with only a single WebView.

Loaded multiple external websites, unrelated to our app or backend.

Tested on multiple Fire TV and Fire TV Stick devices.

In all cases, the WebView continued to flicker at irregular intervals (typically under 2 minutes), even on well-known external websites. This strongly indicates that the issue is related to the Fire OS WebView or rendering behavior introduced in recent OS updates, rather than our application implementation.

Google Drive (Logs & OS Details):

Hello,

Thanks for your post. Your contact-us case is currently being worked on by the support team. The team will get back to you when an update is available.

@Emma Any update on this, we’re facing lot of complains from our customers

@Emma Is there any update on this issue? I am experiencing the same problem.

Hi @MSA_Software_LLC and @Ipop_solution,

Thank you for your patience on this issue. We have an update based on our investigation.

Root Cause Identified:
Our platform team completed their analysis and confirmed this is a Sheldon-specific (Fire TV Stick HD) hardware limitation, not a WebView regression. The root cause is:

  1. Video Renderer Frame Queue Starvation - The WebView’s video player cannot decode/buffer frames fast enough due to memory constraints on Fire TV Stick
    HD’s limited resources. This causes the renderer to enter a “no frames
    available” state, triggering the visible flickering.
  2. Memory Pressure - The app + WebView combined occupy 200MB+ on a device with
    very limited RAM, causing GPU resources to be reclaimed and rebuilt, further
    contributing to the flicker.

Key evidence: The exact same WebView versions that flicker on Fire TV Stick HD run without issues on all other Fire TV models.

Recommendations:

  1. Replace video-based wakelocks with the navigator.wakeLock API (Screen Wake Lock API). If a video wakelock fallback is needed, use a minimal 1Ă—1 pixel video with display: none instead of a visible 596Ă—336 video.
  2. Detect low-memory devices programmatically and serve static/simplified content:
fun isLowMemoryDevice(context: Context): Boolean {
      val activityManager = context.getSystemService(Context.ACTIVITY_SERVICE)
  as ActivityManager
      val memInfo = ActivityManager.MemoryInfo()
      activityManager.getMemoryInfo(memInfo)
      val totalRamGB = memInfo.totalMem / (1024.0 * 1024.0 * 1024.0)
      return totalRamGB <= 1.0 || activityManager.isLowRamDevice
  }
  1. Reduce CSS animation complexity on low-end devices to lower GPU contention.
  2. Device targeting - The affected devices fall under the “Sheldon” (Fire TV Stick HD) category with model names like AFTSS/AFTSSS. For a complete list of Fire TV device specs:
    Comparison Table for Fire TV Devices | Amazon Fire Device Specifications

We understand this is impactful for your users. If removing support for these devices is an option, the programmatic check above will help you identify them reliably.

Warm Regards,
Ivy