使用Firebase时出现内存不足错误 [英] Out of memory error when using Firebase
问题描述
我实现了Firebase谷歌(com.google.firebase:firebase-auth:9.0.2),但是当我致电
I implement firebase google (com.google.firebase:firebase-auth:9.0.2), but when I call
FirebaseAuth mFirebaseAuth = FirebaseAuth.getInstance();
FirebaseAuth mFirebaseAuth = FirebaseAuth.getInstance();
我收到消息内存不足.我是初学者android,不知道原因.我该如何解决这个问题?这是日志:
I get message Out of memory. I'm beginner android, I don't know the reason. How I can fix this problem? Here is the log:
1.424 4944-4944/com.bsp.androidtraining E/art:抛出OutOfMemoryError未能分配具有12个空闲字节和12B的162字节分配,直到OOM"(递归情况)06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:"main" prio = 5 tid = 1 Runnable06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:| |group ="main" sCount = 0 dsCount = 0 obj = 0x7493a000 self = 0xb482780006-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:| |sysTid = 4944 nice = -11 cgrp =默认值sched = 0/0句柄= 0xb6f35bec06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:| |状态= R schedstat =(0 0 0)utm = 898 stm = 49核心= 1 HZ = 10006-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:| |stack = 0xbe7e8000-0xbe7ea000 stackSize = 8MB06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:|持有的互斥锁="mutator lock"(共享持有)06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:本机:#00 pc 00004e64/system/lib/libbacktrace_libc++.so(UnwindCurrent :: Unwind(unsigned int,ucontext *)+ 23)06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:本机:#01 pc 00003665/system/lib/libbacktrace_libc++.so(Backtrace :: Unwind(unsigned int,ucontext *)+ 8)06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:native:#02 pc 00244159/system/lib/libart.so(art :: DumpNativeStack(std :: __ 1 :: basic_ostream>&;,int,char const *,art :: mirror :: ArtMethod *)+ 68)06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:native:#03 pc 00227059/system/lib/libart.so(art :: Thread :: DumpStack(std :: __ 1 ::basic_ostream>&)const + 140)06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art:native:#04 pc 0022a31b/system/lib/libart.so(art :: Thread :: ThrowOutOfMemoryError(char const *)+ 254)
1.424 4944-4944/com.bsp.androidtraining E/art: Throwing OutOfMemoryError "Failed to allocate a 162 byte allocation with 12 free bytes and 12B until OOM" (recursive case) 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: "main" prio=5 tid=1 Runnable 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: | group="main" sCount=0 dsCount=0 obj=0x7493a000 self=0xb4827800 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: | sysTid=4944 nice=-11 cgrp=default sched=0/0 handle=0xb6f35bec 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: | state=R schedstat=( 0 0 0 ) utm=898 stm=49 core=1 HZ=100 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: | stack=0xbe7e8000-0xbe7ea000 stackSize=8MB 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: | held mutexes= "mutator lock"(shared held) 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: native: #00 pc 00004e64 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23) 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: native: #01 pc 00003665 /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8) 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: native: #02 pc 00244159 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream >&, int, char const*, art::mirror::ArtMethod*)+68) 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: native: #03 pc 00227059 /system/lib/libart.so (art::Thread::DumpStack(std::__1::basic_ostream >&) const+140) 06-10 02:03:51.454 4944-4944/com.bsp.androidtraining E/art: native: #04 pc 0022a31b /system/lib/libart.so (art::Thread::ThrowOutOfMemoryError(char const*)+254)
java.lang.OutOfMemoryError:尝试抛出OutOfMemoryError时抛出了OutOfMemoryError;没有可用的堆栈
java.lang.OutOfMemoryError: OutOfMemoryError thrown while trying to throw OutOfMemoryError; no stack available
推荐答案
如果在Manifest.xml文件中设置 android:largeHeap ="true"
,通常会出现内存不足错误-但在大多数情况下在这种情况下,应注意确保不要不必要地在内存中加载大量数据.例如,请在此处中查看相关讨论.
Out of Memory errors usually disappear if you set android:largeHeap="true"
in the Manifest.xml file - but in most cases, care should be taken to ensure you are not unnecessarily loading large amounts of data in memory. For example, look at the discussion in this closely related article here.
但是,就您的情况而言,我认为您可以在 Manifest.xml
文件中设置 android:largeHeap ="true"
.这应该有帮助.
However, in your case I think you can just set android:largeHeap="true"
in the Manifest.xml
file. This should help.
这篇关于使用Firebase时出现内存不足错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!