Активность утекла ServiceConnection com.google.android.youtube.player, который был изначально связан здесь

Я использую Activity, которая имеет макет с android.support.v4.view.ViewPager, который я использовал для управления навигацией по Tab. У меня есть разные фрагменты для разных вкладок. На третьей вкладке я загружаю некоторые миниатюры YouTube из своего аккаунта YouTube.

Когда я загружаю приложение (когда я нахожусь на первой вкладке) и нажимаю Назад, чтобы выйти из приложения, оно существует без каких-либо проблем. Но когда я перехожу ко второй вкладке и пытаюсь нажать кнопку "Назад", приложение существует с ошибкой, как указано ниже.

E/ActivityThread(7187): Activity package.name.ActivityName has leaked ServiceConnection com.google.android.youtube.player.internal.r$e@41e5d180 that was originally bound here
E/ActivityThread(7187): android.app.ServiceConnectionLeaked: Activity package.name.ActivityName has leaked ServiceConnection com.google.android.youtube.player.internal.r$e@41e5d180 that was originally bound here

Я добавил API данных YouTube v3 в свой проект.

Как я могу решить эту проблему? Почему ошибка появляется при выходе из второй вкладки, а не в первой вкладке?

Это не повторный вопрос этого.

1 ответ

Решение

Если я угадаю правильно, вы загружаете API, когда появляется вторая страница, а затем запускаете API YouTube. Вместо предоставления своей деятельности в качестве контекста попробуйте предоставить контекст приложения для API.

Я использовал фрагмент вTabLayoutдля запуска видео на Youtube. Приложение работало нормально, ноLogcatпоказал эту ошибку. Я обнаружил, что я не выпускал загрузчики миниатюр после того, как они были загружены или нет (в зависимости от действительного идентификатора видео). Это решило мою проблему.

Другие вопросы по тегам