2016-01-29 1 views
0

Я бегу в OutOfMemoryError в библиотеке внутри своего приложения. Трассировка стека указывает на строку внутри библиотеки, где start() вызывается в новом потоке. Ошибка выглядит следующим образом:Трассировка стека OutOfMemoryError гарантированно будет источником?

Fatal Exception: java.lang.OutOfMemoryError: pthread_create (стек 1040KB) не удалось: Попробуйте снова

ошибка не надежно воспроизводить-состоянии, это происходит, может быть, один раз из 300 запусков.

Если трассировка стека указывает на строку внутри библиотеки, автоматически ли это означает, что проблема там лежит или могут быть утечки памяти в приложении, а в Java просто закончилось нехватка памяти в то же время, что и мы ударил эту строку кода в библиотеке? Я не хочу, чтобы кто-нибудь пытался решить эту проблему, я просто хочу знать, нужно ли мне обязательно смотреть на библиотеку, или это просто означает, что в приложении есть проблема с памятью.

Спасибо!

+0

Опубликуйте все свое исключение и некоторый код для объяснения. Что вы делаете, это вызывает OOM? Вы используете недорогое устройство? – TheSunny

+0

Стекло скажет вам, где вы не можете получить больше памяти; не почему (нет, это не обязательно, где ваша ** проблема **). Профилировщик должен быть в состоянии помочь вам найти * актуальную * проблему. –

+0

Спасибо, ребята. Я задам новый вопрос, если мне понадобится помощь в выяснении, где находится настоящая проблема. Просто хотел подтвердить, что проблема может быть в другом месте. – Droidmon2

ответ

0

or could there be memory leaks in the application, and Java just happened to run out of memory at the same time that we hit that line of code in the library?

Да, это в значительной степени. Однако библиотека все же может быть источником ошибки, но вы не можете точно сказать из трассировки стека.

+0

Отлично! Это все, что мне нужно, спасибо. – Droidmon2

Смежные вопросы