当我运行我的应用几个小时后,它崩溃并显示logcat信息,如下所示:
Runtime aborting...
( 1197): art/runtime/runtime.cc:289] Aborting thread:
( 1197): art/runtime/runtime.cc:289] "<native thread without managed peer>" prio=5 tid=80 Native (still starting up)
( 1197): art/runtime/runtime.cc:289] | group="" sCount=0 dsCount=0 obj=0x0 self=0xa2afa000
( 1197): art/runtime/runtime.cc:289] | sysTid=2898 nice=0 cgrp=default sched=0/0 handle=0xa201e800
( 1197): art/runtime/runtime.cc:289] | state=R schedstat=( 4000000 0 3 ) utm=0 stm=0 core=6 HZ=100
( 1197): art/runtime/runtime.cc:289] | stack=0x9b1e3000-0x9b1e5000 stackSize=1036KB
( 1197): art/runtime/runtime.cc:289] | held mutexes= "abort lock" "mutator lock"(shared held)
( 1197): art/runtime/runtime.cc:289] native: #00 pc 00004ef0 /system/lib/libbacktrace_libc++.so (UnwindCurrent::Unwind(unsigned int, ucontext*)+23)
( 1197): art/runtime/runtime.cc:289] native: #01 pc 000036d5 /system/lib/libbacktrace_libc++.so (Backtrace::Unwind(unsigned int, ucontext*)+8)
( 1197): art/runtime/runtime.cc:289] native: #02 pc 002439d1 /system/lib/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, int, char const*, art::mirror::ArtMethod*)+68)
( 1197): art/runtime/runtime.cc:289] native: #03 pc 00227d79 /system/lib/libart.so (art::Thread::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&) const+144)
( 1197): art/runtime/runtime.cc:289] native: #04 pc 00217eef /system/lib/libart.so (art::AbortState::DumpThread(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, art::Thread*)+22)
( 1197): art/runtime/runtime.cc:289] native: #05 pc 00218155 /system/lib/libart.so (art::AbortState::Dump(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)+364)
( 1197): art/runtime/runtime.cc:289] native: #06 pc 00218321 /system/lib/libart.so (art::Runtime::Abort()+72)
( 1197): art/runtime/runtime.cc:289] native: #07 pc 000a6e7b /system/lib/libart.so (art::LogMessage::~LogMessage()+1322)
( 1197): art/runtime/runtime.cc:289] native: #08 pc 0015860f /system/lib/libart.so (art::IndirectReferenceTable::IndirectReferenceTable(unsigned int, unsigned int, art::IndirectRefKind)+402)
( 1197): art/runtime/runtime.cc:289] native: #09 pc 00195e2d /system/lib/libart.so (art::JNIEnvExt::JNIEnvExt(art::Thread*, art::JavaVMExt*)+24)
( 1197): art/runtime/runtime.cc:289] native: #10 pc 0022722f /system/lib/libart.so (art::Thread::Init(art::ThreadList*, art::JavaVMExt*)+338)
( 1197): art/runtime/runtime.cc:289] native: #11 pc 0022a785 /system/lib/libart.so (art::Thread::CreateCallback(void*)+84)
( 1197): art/runtime/runtime.cc:289] native: #12 pc 00016ea3 /system/lib/libc.so (__pthread_start(void*)+30)
( 1197): art/runtime/runtime.cc:289] native: #13 pc 00014deb /system/lib/libc.so (__start_thread+6)
这似乎是IndirectReferenceTable
溢出问题。但是如何找到问题的位置?
还有其他人经历过此事或知道解决方法吗?