我无法找到有关对Android上运行的RN应用程序的内存不足异常进行故障排除的具体信息。我一直在向Bugsnag仪表板报告一些OOM错误,所有这些似乎都很糟糕。
这并非仅适用于较旧的设备-使用该应用程序使用13MB(加上NDK)的应用程序在Galaxy S9上发生了一次崩溃,并且仍然有255MB。
在调查期间,我当然暂时启用了largeHeap,但是由于报告的内存使用率较低,我仍然看到崩溃。我唯一的方向是检查RN是否正在耗尽本机内存,在我的控制台中没有将其报告为“已用内存”。
在对我的应用程序进行性能分析(使用调试变体APK,而不是针对开发服务器)时,我确实看到本地内存使用率似乎很高-81mb,而应用程序在登录后仅坐了一会儿。它徘徊在30-40mb左右登录之前。
我已经确保我的代码在崩溃工作流期间不会进行任何API调用或加载资源。登录非常简单,由渐变,一些文本和视图以及加载的react-native-app-auth组成以处理登录。在该库中执行身份验证时,我看不到峰值。
是否有任何工具或方法来检查RN为什么吞噬了这么多本机空间?还是这很正常?我目前使用的是RN 0.57.5,React 16.6.3。我无法在iOs设备上进行测试,以检查这是否是Android特有的问题。
答案 0 :(得分:0)
您尝试过这个吗?
将此添加到您的“ android / app / src / main / AndroidManifest.xml”
<application android:largeHeap="true"
ref:now available