【发布时间】:2019-01-08 18:56:37
【问题描述】:
我们有一个生产应用程序并使用“adb shell dumpsys meminfo”来测量内存。我们看到在这个工具中进行转储时内存在不断增长。我们看到未知类别正在增长并且从未下降。当我们附加调试器并执行 JS 内存快照时,我们看到内存在我们清理的地方下降。为了简化这一点,我们创建了一个简单的应用程序来在一个屏幕上分配和释放内存。在 chrome 调试器中,我们看到释放时内存下降;但是在没有调试器的设备/模拟器中运行时,内存正在拍摄并且即使我们解除分配也不会下降。某个时候应用程序崩溃了。看起来 JavaScript GC 从未运行。请参阅我们在下面发布的详细信息。由于这阻碍了我们的发布,我们恳请对此进行调查。为什么 RN app 内存一直在增加,app 崩溃了?”
我正在运行简单的 react 本机应用程序以了解内存使用情况。 当我使用 chrome 调试器检查内存时,它没有保留任何内存。但是当我使用 adb sysdump 检查内存时,jsthread 并没有释放内存。
我正在使用 react-navigation 在屏幕之间进行导航。我正在使用 createStackNavigator 方法。
我的组件名称是 screenOne。该组件包含添加记录的 AddRecord 方法。一旦我按下返回按钮,组件将被卸载并导航到 HomeScreen。
快照一 - 初始内存 - 主屏幕页面
快照二 - 导航到 screenOne 组件。
SnapShot 3 - 多次按下 addRecord 方法以增加内存。
但是当我做 adb shell dumpsys meminfo - 内存没有被释放。
【问题讨论】:
-
我也有同样的问题...
-
我也有同样的问题,顺便说一句,使用一页状态也会增加内存
标签: android react-native memory memory-leaks react-native-android