为什么使用Redux-Persist会不断出现内存不足错误?

时间:2019-07-22 13:19:22

标签: node.js react-native react-redux v8 redux-persist

有时在重新启动我的应用程序时,我的模拟器会抛出此错误

O

伴随此堆栈跟踪

FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
 1: node::Abort() [/usr/local/bin/node]
 2: node::FatalException(v8::Isolate*, v8::Local<v8::Value>, v8::Local<v8::Message>) [/usr/local/bin/node]
 3: v8::Utils::ReportOOMFailure(char const*, bool) [/usr/local/bin/node]
 4: v8::internal::V8::FatalProcessOutOfMemory(char const*, bool) [/usr/local/bin/node]
 5: v8::internal::Factory::NewRawTwoByteString(int, v8::internal::PretenureFlag) [/usr/local/bin/node]
 6: v8::internal::String::SlowFlatten(v8::internal::Handle<v8::internal::ConsString>, v8::internal::PretenureFlag) [/usr/local/bin/node]
 7: v8::String::WriteUtf8(char*, int, int*, int) const [/usr/local/bin/node]
 8: node::StringBytes::Write(v8::Isolate*, char*, unsigned long, v8::Local<v8::Value>, node::encoding, int*) [/usr/local/bin/node]
 9: int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&) [/usr/local/bin/node]
10: void node::StreamBase::JSMethod<node::LibuvStreamWrap, &(int node::StreamBase::WriteString<(node::encoding)1>(v8::FunctionCallbackInfo<v8::Value> const&))>(v8::FunctionCallbackInfo<v8::Value> const&) [/usr/local/bin/node]
11: v8::internal::FunctionCallbackArguments::Call(void (*)(v8::FunctionCallbackInfo<v8::Value> const&)) [/usr/local/bin/node]
12: v8::internal::MaybeHandle<v8::internal::Object> v8::internal::(anonymous namespace)::HandleApiCallHelper<false>(v8::internal::Isolate*, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::HeapObject>, v8::internal::Handle<v8::internal::FunctionTemplateInfo>, v8::internal::Handle<v8::internal::Object>, v8::internal::BuiltinArguments) [/usr/local/bin/node]
13: v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [/usr/local/bin/node]
14: 0x2672e7c842fd
events.js:183
      throw er; // Unhandled 'error' event
      ^

Error: write EPIPE
    at WriteWrap.afterWrite [as oncomplete] (net.js:868:14)
/Users/jisata0/Dev/exampleapp/node_modules/react-native/scripts/packager.sh: line 11: 86698 Abort trap: 6           node "./local-cli/cli.js" start "$@"
Process terminated. Press <enter> to close the window

任何人都可以澄清为什么会发生这种情况吗?

1 个答案:

答案 0 :(得分:0)

要求客户检查对性能改进的基本应用程序响应。性能问题的最常见原因之一是内存泄漏。

内存不足是当超出可用内存限制时发生的错误。

最简单的应用方法是为应用程序提供更多的可用内存。

您可以使用添加到android / app / src / main / AndroidManifest.xml

<application android:largeHeap="true"

如果内存仍然不足,请尝试调试编写的任何代码,这些代码使用的内存比预期的多,或者创建了内存锁定。