Flashing white background during load of Standalone Managed app

Please provide the following:

  1. SDK Version: 36
  2. Platforms(Android/iOS/web/all): Android

EDIT: This is a Standalone build of a Managed app. I am only using the expo.splash settings in app.json shown below. No SplashScreen or AppLoading. Even though I’m setting a dark backgroundColor I get white flashes before showing the splash image on SDK 36.

I have not tested this on iOS so I’m not sure if it’s a problem there too.

My app has a dark splash screen. The “splash” section of my app.json looks as follows:

    "splash": {
      "image": "./assets/simon-buchou-5Qd3Gj49gzk-unsplash.png",
      "resizeMode": "contain",
      "backgroundColor": "#131412"
    },

After upgrading to SDK 36 without making any other changes there are now one or two white flashes while the app is loading that were not there with SDK 35:

SDK 35 (no white flashes):

SDK35-startup

SDK 36 (white flashes):

SDK36-startup

Is there anything I can do to fix this?

1 Like

I am starting with expo and I have the exact same bug on android, did you remove the flickering?

I have not looked into this any further, so unfortunately I do not have an answer. For the moment I am sticking with SDK 35 for this app (which is only used by one user anyway :laughing:)

Using a mostly white splash screen should make this less noticeable, so if you want to use SDK 36 I suggest you use a mostly white splash screen.

Thanks for the advice, the problem I Have is that the flickering is of the color of the configured background in the app.json. In my case it is FF5454.

It is switching from Splash to Background color 100% in 0ms, then I have a fade out (flickering) to the homepage. I have not found a way to add the Splash within the background color so my two bet would be:

  • use white background for app (and never use color)
  • use white splash png (and never use customization)

That’s quite low for expo isn’t it?

This is definitely not how things should be, but I have not had time to try to debug this. The “best” workaround I can suggest at the moment is to downgrade to SDK 35, since it does not flicker for me with SDK 35. This is obviously not ideal.

If you have more experience than I do with debugging Android apps, maybe you could figure out what’s going wrong.

I solved it by adding style={{ width: '100%', height: '100%' }} to my background image. It was sized to 0 and background was displayed.

Thanks.

That doesn’t appear to apply to my case because I’m not using AppLoading or SplashScreen. Just the expo.splash.image, expo.splash.resizeMode, expo.splash.backgroundColor in app.json as per my first post.

Also, despite using a dark background colour (basically the same as the background of the splash image) the flashes are white.

Do you use within your code expo.splash.image or you just have it in app.json ? If you have it in your code, I believe this is your white screen.

I only have it in app.json. I have no code in my app to do with the splash/loading screen.

OK, some might say this is progress :sweat_smile: but the SDK-35 behaviour is still better.

I’ve made the changes mentioned below and now there is no white flash with the standalone SDK-36 build, but there is a flash of black (apparently not backgroundColor) in the middle of displaying the splash image.

i.e. it shows the image briefly, then fades to black (including the Android navigation bar at the bottom), then shows the image again, then blanks to white briefly before showing the app content:

The changes to the splash settings in app.json are as follows, notice the "resizeMode": "native" in expo.android.splash:

{
  "expo": {
[...]
   "splash": {
      "image": "./assets/simon-buchou-5Qd3Gj49gzk-unsplash.png",
      "resizeMode": "contain",
      "backgroundColor": "#131412"
    },
    "android": {
[...]
      "splash": {
        "backgroundColor": "#131412",
        "resizeMode": "native",
        "xxxhdpi": "./assets/simon-buchou-5Qd3Gj49gzk-unsplash.png"
      }
    }
  }
}

I also changed the dimensions of the splash screen, but not sure that’s relevant. The current dimensions are 1080x2220 and expo ba complains that it expects 4320x8880, but :man_shrugging:

Hey @kopax

This flashing has something to do with the Night Mode handling in SDK 36. See this pull request for a hint:
https://github.com/expo/expo/pull/6825#issue-365734849

If I turn off Night Mode the flashing goes away.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.