Skip to content

[BUG] :: MainActivity memory leak when running foreground service #45001

Open

Description

@chanphiromsok

Description

I have an issue with the app memory leak in MainActivity when running the foreground service
the

Steps to reproduce

  • my app is running foreground service so when I repeat it about 30 times close -> open -> it causes a memory leak does the react native screen have an option to destroy the screen?
  • I keep the Android process running but when I close (swipe the app out normally in Android swipe the app out it would be killed) and open the app it increases the app memory do we have the option to destroy it?

React Native Version

0.73.6

Affected Platforms

Runtime - Android

Output of npx react-native info

System:
  OS: macOS 14.5
  CPU: (8) arm64 Apple M1
  Memory: 490.44 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 20.13.1
    path: ~/.asdf/installs/nodejs/20.13.1/bin/node
  Yarn:
    version: 1.22.22
    path: ~/.asdf/installs/nodejs/20.13.1/bin/yarn
  npm:
    version: 10.5.2
    path: ~/.asdf/plugins/nodejs/shims/npm
  Watchman:
    version: 2024.05.06.00
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.15.2
    path: /Users/rom/.asdf/shims/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.5
      - iOS 17.5
      - macOS 14.5
      - tvOS 17.5
      - visionOS 1.2
      - watchOS 10.5
  Android SDK: Not Found
IDEs:
  Android Studio: 2023.3 AI-233.14808.21.2331.11842104
  Xcode:
    version: 15.4/15F31d
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.11
    path: /Users/rom/.asdf/shims/javac
  Ruby:
    version: 2.7.8
    path: /Users/rom/.asdf/shims/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.73.6
    wanted: 0.73.6
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: false
iOS:
  hermesEnabled: true
  newArchEnabled: false

Stacktrace or Logs

I don't have a stack trace because it is a memory leak

Reproducer

https://github.com/chanphiromsok/rnn-screen-leak

Screenshots and Videos

image

Untitled.mp4

Activity

  1. github-actions commented on Jun 17, 2024

    @github-actions
    ⚠️ Newer Version of React Native is Available!
    ℹ️ You are on a supported minor version, but it looks like there's a newer patch available - 0.73.8. Please upgrade to the highest patch for your minor or latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If it does not repro, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the most recent releases.
  2. chanphiromsok commented on Oct 23, 2024

    @chanphiromsok
    Author

    @cortinico Hello I tried to call unmountReactApplication after the activity was destroyed, ReactRootView is no more memory leak but it still leaking memory in FrameLayout. How can I clear the memory leak after the activity is destroyed? NOTE my app running foreground service

    This is not Called unmountReactApplication after the activity destroy

    leak but don't have FrameLayout memory leak
    image

    This is Called unmountReactApplication after the activity destroy

    image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions