Android中的React-Native内存问题

时间:2017-03-08 13:53:46

标签: android react-native react-native-android

我在Android设备上运行我的项目构建在React-Native上,当我向下滚动列表时,应用程序内存不断增加。即使在导航到其他屏幕之后,在android的情况下也没有释放内存,而在ios设备的情况下释放了大量内存。 Android的调查是在Android活动监视器上完成的,同样的视频可用here

如果是android,如何释放内存?

2 个答案:

答案 0 :(得分:2)

这是React Native在引擎盖下使用的Android库Fresco的标准行为。 Fresco将内存中的所有图像缓存到系统授权的最大值。它是一个缓存,因此即使将图像从屏幕上移除,图像也会保留在内存中,以防以后使用。

当应用程序需要内存空间时,GC可以"废弃"这个缓存。那是在0''''在你的屏幕录制中(你可以看到一个小的"丢弃"分配的内存)。

这个article详细解释了内存管理。

总之,使用图像的React Native应用程序将始终使用系统允许的几乎所有内存。内存逐渐被释放,以满足应用程序的需求。

答案 1 :(得分:0)

目前,本机ListView存在已知问题,请在此处查看与listview相关的问题https://react-native.canny.io/feature-requests/p/fix-various-listview-issues。在临时检查中,此repo尝试优化listview以获得性能https://github.com/sghiassy/react-native-sglistview