Closed kastwsw closed 7 months ago
Добрый день, удаление ссылки на объект NativeAd должно помочь
Добрый день, удаление ссылки на объект NativeAd должно помочь
Правильно ли я понимаю, что в API нет метода destroy или чего-то подобного? И вы рекомендуете контролировать наличие ссылок на объект, и принудительно вызывать сборщик мусора?
Ссылки чистим. К сожалению, сборщик мусора не успевает за активными действиями пользователей.
Удачная ветка, хотел нечто подобное заводить уже сам, а тут уже коллеги завели. У меня подобные проблемы.
Хотелось бы добавить, что и слушатели на события, которые передаются в SDK, тоже хранятся до победного, нет метода удалить у библиотеки ранее переданный слушатель, например:
NativeAdLoadListener
- его отдаем загрузчику(NativeAdLoader
), дальше он в хранится в статике в глубине рекламной библиотеки, LeakCanary ругается на него, а возможности сообщить, что его бы надо удалить, т.к. он уже перестал быть нужен, у пользователя библиотеки нет.
ClosableNativeAdEventListener
- его, вроде, есть шанс удалить, но у вас обфусцировано, не стал разбираться, хотелось бы иметь возможность удалять этот слушатель явно, когда он уже не нужен.
Прошу добавить возможность явно удалять слушатели NativeAdLoadListener
и ClosableNativeAdEventListener
.
Если такая возможность уже есть, то прошу ссылку на документацию, где это описано.
Добрый день. Чтобы очистить ссылку на листенер, должно быть достаточно вызвать:
nativeAdLoader.cancelLoading()
nativeAdLoader.setNativeAdLoadListener(null)
С наличием данных вызовов у вас возникает проблема с репортом LeakCanary?
С наличием данных вызовов у вас возникает проблема с репортом LeakCanary?
да, завел https://github.com/yandexmobile/yandex-ads-sdk-android/issues/201
Добрый день. Данная проблема была исправлена в версии рекламного SDK 5.9.0. Обновление версии SDK должно помочь.
Приветствую, Обновление версии библиотеки не помогло. В Heap Dump обнаружил большое количество битмапов по 5 мегабайт, которые хранятся вечно.
Добрый день. До какой версии библиотеки вы обновились и при использовании какого формата рекламы происходит подобная утечка? Можете приложить более подробный отчет о ней?
Добрый день. До какой версии библиотеки вы обновились и при использовании какого формата рекламы происходит подобная утечка? Можете приложить более подробный отчет о ней?
com.yandex.android:mobileads:6.3.0 Нативная реклама. Загружаем объекты NativeAd с помощью NativeBulkAdLoader. Параметр adsCount = 5.
Спасибо за Ваше обращение, для разбора создана задача с номером PCODESUP-2894. Мы ознакомимся и вернемся с ответом в течение 2 дней, возможно запросим дополнительную информацию.
Thank you for your message, a task with the number PCODESUP-2894 has been created for analysis. We will get acquainted and return with the answer within 2 days, we may request additional information.
Добрый вечер! Расследуем данную ситуацию. Предполагаем, что действительно есть потенциальная проблема. Планируем исправить в ближайшем релизе. Спасибо за информацию!
Добрый день! Спасибо за ожидание. Проблему исправили в 7.0.0. Рекомендуем обновиться.
Здравствуйте.
Можно ли как-то очистить память, занимаемую объектом com.yandex.mobile.ads.nativeads.NativeAd ? Есть какой-либо метод destroy или что-то подобное? Как это сделано в других рекламных системах (в ваших доках ничего подобного нет).
У нас бесконечная лента, в которую вставлены NativeAd. Каждый загруженный Яндекс-баннер отъедает в среднем более 8MB ОЗУ. После показа он так и остаётся в памяти. Если интенсивно скролить ленту, то через какое-то время память на устройстве заканчивается. В результате апп падает.