【发布时间】:2019-08-09 21:56:15
【问题描述】:
我已经在 react native android 中构建了一个学习管理系统应用程序。我使用AsyncStorage 进行简单的状态管理,根本没有使用 redux。我现在面临的问题是我是否要使用应用程序通过执行不同的操作连续执行然后应用程序变得非常慢。我认为这是内存泄漏,因为当我从后台杀死应用程序并再次打开它时,它可以毫无延迟地工作。所以我不知道如何避免这种内存泄漏。我尝试了很多解决方案
- 已从应用中删除所有
console.log - 更改了所有内联样式
- 使用
ComponentDidMount而不是ComponentWillMount。 - 已尝试预取数据。
但我不知道如何从堆内存中删除数据。数据是否在每次导航时都存储在heap 中?所以这会使应用程序的性能非常缓慢。不知道我说的对不对很好的帮助。谢谢!
【问题讨论】:
-
您是否删除了
componentWillUnmount中的所有计时器和事件监听器? -
您可以使用 Android 上的 Android Studio Profiler 工具和 iOS 上的 Debug navigator 来寻找内存泄漏。
-
@NilsKähler 是的,我正在卸载 eventlisteners 。所以在 android studio 中,它会显示内存泄漏发生在哪里以及如何发生?
-
如果你去分析器,那么你会看到你的记忆图,然后你可以看到每次你路由到一个新页面或执行一个动作时记忆是否增加。
标签: javascript reactjs react-native memory-management memory-leaks