Активность утекла 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
показал эту ошибку. Я обнаружил, что я не выпускал загрузчики миниатюр после того, как они были загружены или нет (в зависимости от действительного идентификатора видео). Это решило мою проблему.