Dzmitry
LeakCanary
Как я понял дело в кривой либе от Гугла?
Line'R
Что бы получить констурктор типа https://gist.github.com/LinerSRT/fc72707eca7f52f18a7b395da2a223b8
Line'R
Я уже так сделал, но определение вьютайп как то через одно место работает
Artyom
Всем привет) Была у кого нибудь проблема, что глайд не загружает error drawable в CustomViewTarget? Колбэки onResourceReady, onLoadFailed не срабатывают, работает только onResourceCleared при выходе из экрана
Frolix
подскажите как переконвертировать json в list если в 1 data class лежит list в котором тоже list пример: var arrayType = object : TypeToken<List<ResponseNomenclatureWithPriceModel>>() {}.type var tutorials: List<ResponseNomenclatureWithPriceModel> = gson.fromJson(returnElement, arrayType) data класси: data class ResponseJsonTemplates ( @SerializedName("arr") var nomList:List<ResponseNomenclatureWithPriceModel> ) data class ResponseNomenclatureWithPriceModel ( @SerializedName("NomenclatureInfo") var dataName:DataNum, @SerializedName("Price") var dataPrice:List<PriceOfNom> )
Dzmitry
Что то я не совсем понимаю, пишет что утекает контекст в linearlayout'e, вот только linearlayout'a у меня в main activity нет...
K
Здравствуйте, как поправить? 2020-09-15 12:51:27.156 13416-13416/com.nikita.mozhaev.vocabulary W/ClassMapper: No setter/field for translation found on class com.nikita.mozhaev.vocabulary.Model.Word
Dzmitry
потому что нужно сверху вниз смотреть, а не снизу вверх )
Так сверху там какие то inputMethod, DecorView. В приложении такого нет
Dzmitry
Main activity состоит из viewpager2, TabLayout и медиатора. Полей для ввода текста тоже нет
Dzmitry
в приложении такое есть
И как это исправить?
Dmitry
И как это исправить?
точно не помню, но по-моему это ложное срабатывание лик-кэнэри. в любом случае, нужно смотреть в начало цепочки, а не конец.
Dmitry
Оба ложные?
кто оба?
Dmitry
Оба ложные?
ешё можно погуглить: https://github.com/square/leakcanary/issues/1588
Dzmitry
кто оба?
Ну я кидал два скрина, и вот ещё нашло
Dmitry
Ну я кидал два скрина, и вот ещё нашло
я видел только один. на этом скрине всё очевидно.
Dmitry
я видел только один. на этом скрине всё очевидно.
если не очевидно, то нужно освоить leak canary получше, чтобы не сталкиваться с вопросами каждый раз
Dmitry
Ну я кидал два скрина, и вот ещё нашло
кстати, попробуй сначала этот пофиксить. возможно те, что от decorview - пропадут. но это не точно.
Dzmitry
если не очевидно, то нужно освоить leak canary получше, чтобы не сталкиваться с вопросами каждый раз
Я его только установил. В дампе профайлера увидел что у меня несколько инстансов MainActivity, здесь посоветовали LeakCanary. Но я не понимаю какая из утечек связана с MainActivity
Dmitry
Вопрос как?) fontsContract я не использую
код проекта у тебя перед глазами. я не могу за тебя в нём покопаться )
Dmitry
Вопрос как?) fontsContract я не использую
вот с этим всё-таки нужно ознакомиться, если ещё не: https://square.github.io/leakcanary/fundamentals-fixing-a-memory-leak/
Dmitry
Вопрос как?) fontsContract я не использую
там даже про твой fontscontract написано: The FontsContract class is a system class (see GC Root: System class) and has an sContext static field which references an ExampleApplication instance which has a leakedViews field which references an ArrayList instance which references an array (the array backing the array list implementation) which has an element that references a TextView which has an mContext field which references a destroyed instance of MainActivity.
Dmitry
ну только у тебя случай немного другой, но очень близко.
Dzmitry
ну только у тебя случай немного другой, но очень близко.
А нужно вобще watcher'ы ставить или нет? У них на сайте написано что нет, но пока не поставил была только 1 утечка.
Vlad
Всем привет! Подскажите пожалуйста, как реализовать анимацию перехода с DialogFragment загрузки, на DialogFragment результата. Анимация заключается в том, чтобы DialogFragment растягивался до нужного размера, и появлялся нужный текст/картинки
Vlad
Vlad
Dmitry
А нужно вобще watcher'ы ставить или нет? У них на сайте написано что нет, но пока не поставил была только 1 утечка.
про вотчеры хз. пара поправок по предыдыдущим комментам, чтобы не вводить тебя в заблуждение: 1. лик приложения через fontscontract - скорее всего последствие другого лика, а не причина. то есть нужно фиксить другие сначала. 2. всё, что показывает leakcanary - это всё твоё приложение. потому что в нём, помимо твоего кода, есть ещё код библиотек, код фреймворка и т.п.
Dzmitry
ключевое слово - expected
Ну я ожидаю что активити будет удалена, на неё я вотчер и поставил
Dmitry
Ну я ожидаю что активити будет удалена, на неё я вотчер и поставил
хотя вот такое пишут: The default configuration of LeakCanary will automatically watch Activity, Fragment, Fragment View and ViewModel instances.
Dmitry
In your application, you may have other objects with a lifecycle, such as services, Dagger components, etc. Use AppWatcher.objectWatcher to watch instances that should be garbage collected:
Кирилл
Подскажите пожалуйста: добавляю в модуле А в java sdkDirs внешнюю директорию, всё ок. Потом добавляю эту же директорию в модуле В, и директория становится недоступна в обоих модулях... Кто-нибудь встречался с такой проблемой?
Frolix
может кто-то знает как решить проблему с конвертированием json https://stackoverflow.com/questions/63898294/converte-json-to-list-of-object-if-in-one-data-class-list-of-second-data-class-a
Vladimir
фрагмент с эдитекстом, из него открываю другой dialogfragment в котором тоже есть едитекст при клике на эдиттекст в диалог фрагменте фокус сразу переключается на родительский фрагмент куда копать?
Dzmitry
если ожидаешь, значит нужно ставить )
Кажется я нашёл где была утечка. Во фрагменте я ложил ресайклер в lateinit var. Странно почему leakCanary об этом не сказал
Future Franklin
Кто может помочь как получить данные батареи с bluetooth BLE девайса?
Данил
Я просто не пойму в чем утечка?
Dzmitry
Я просто не пойму в чем утечка?
В том что объект из lateinit нельзя удалить. Когда поменял на обычную переменную RecyclerView? всё стало норм
Dmitry
Сделал https://github.com/LinerSRT/GenericAdapter
@SuppressWarnings("rawtypes") как бы намекает, что пока не совсем дженерик )
Данил
Не используете - не объявляйте и все. У вас бы при вызове и так краш случился бы
Dzmitry
А зачем его удалять?
Насколько я знаю view содержит ссылку на контекст фрагмента а фрагмент на контекст активити. И из-за этого инстанс активити не удалялся
Line'R
Ща, я курю
Line'R
Подскажите как с этим роботать
С целой либой или отдельно списки?
Future Franklin
Кто может помочь как получить данные батареи с bluetooth BLE девайса, 🙏🙏🙏?
Line'R
Кто может помочь как получить данные батареи с bluetooth BLE девайса, 🙏🙏🙏?
https://stackoverflow.com/questions/19539535/how-to-get-the-battery-level-after-connect-to-the-ble-device
Astar
startActivityForResult() deprecated! Как? Что? Когда? Зачем? а в чем смысл? Новый инструментарий удобнее что ли? объясните
Line'R
Первая ссылка
Line'R
отдельно с списком
https://github.com/LinerSRT/PreferenceManager/blob/master/PreferenceManager/src/main/java/com/liner/preferencemanager/PreferenceManager.java#L132
Astar
Кто может помочь как получить данные батареи с bluetooth BLE девайса, 🙏🙏🙏?
В дополнение к ответу от LineR, вот таблица с UUID'ами для характеристик, батарея там тоже есть. https://www.bluetooth.com/specifications/gatt/characteristics/
Line'R
разве PreferenceManager не deprecated?
На каком это апи он deprecated?
Frolix
29
Frolix
На каком это апи он deprecated?
https://developer.android.com/reference/kotlin/android/preference/PreferenceManager
Anonymous
Коллеги, приветствую! Проводим исследование в области поиска удаленной работы. Ищем респондентов для интервью. Если вы работаете по удаленной системе, либо же пытались искать удаленную работу Очень прошу написать в личные сообщения, если вы попадаете являетесь удаленным работником. Вы поможете сделать исследование более качественным, а мы в свою очередь сделаем приятные бонусы :)
Valery
Подскажите плиз, как загуглить, чтобы посмотреть примеры как делать боковую шторку с пунктами меню? Не особо понимаю как это сделать, чтобы оно работало из всех активити
Valery
https://github.com/mikepenz/MaterialDrawer
спасибо, полез разбираться
Данил
Что значит из всех Activity? У вас приложение построено только на Activity?