react-native-bootsplash icon indicating copy to clipboard operation
react-native-bootsplash copied to clipboard

Splash Screen Reappears During Screen Transitions on Android

Open Protino opened this issue 4 months ago • 7 comments

Before submitting a new issue

  • [X] I tested using the latest release of the library, as maybe the bug has been already fixed.
  • [X] I checked for possible duplicate issues, with possible answers.

Bug summary

Splash screen re-appears in between screen transitions on Android when the app is opened from a background state (where the activity was destroyed by the system or the user locale was changed). We can simulate this behavior by turning on Don't keep activities in developer options or by changing the font or display size of the device and re-open the app.

Recording - Screen Recording 2024-03-04 at 4 38 10 PM

Library version

5.4.1

Environment info

System:
  OS: macOS 14.2.1
  CPU: (12) arm64 Apple M2 Pro
  Memory: 93.39 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.5.0
    path: ~/.nvm/versions/node/v20.5.0/bin/node
  Yarn:
    version: 1.22.21
    path: ~/.nvm/versions/node/v20.5.0/bin/yarn
  npm:
    version: 9.8.0
    path: ~/.nvm/versions/node/v20.5.0/bin/npm
  Watchman:
    version: 2023.11.27.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.12.1
    path: /Users/<redacted>/.gem/ruby/3.2.2/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.0
      - iOS 17.0
      - macOS 14.0
      - tvOS 17.0
      - watchOS 10.0
  Android SDK:
    API Levels:
      - "28"
      - "31"
      - "33"
      - "34"
    Build Tools:
      - 30.0.3
      - 33.0.0
      - 33.0.1
      - 34.0.0
    System Images:
      - android-23 | Google APIs ARM 64 v8a
      - android-24 | Google APIs ARM 64 v8a
      - android-34 | Google APIs ARM 64 v8a
    Android NDK: Not Found
IDEs:
  Android Studio: Not Found
  Xcode:
    version: 15.0.1/15A507
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.9
    path: /usr/bin/javac
  Ruby:
    version: 3.2.2
    path: /Users/<redacted>/.rubies/ruby-3.2.2/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.73.2
    wanted: 0.73.2
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: Not found
  newArchEnabled: Not found
iOS:
  hermesEnabled: Not found
  newArchEnabled: Not found

Steps to reproduce

  1. Clone the reproducible repo given below
  2. Setup and run on Android emulator
  3. Enable 'Don't keep activities' in developer options
  4. Open App
  5. Press Home
  6. Open the App again and switch screens

Reproducible sample code

https://github.com/Protino/splash-flash-repro

Protino avatar Mar 04 '24 11:03 Protino