Mike
Mike
это непростой путь, но без него здесь вообще нечего делать
Ilya
Ахаха
Alexey
Vitaly
Бесят такие люди иногда
D
Mike
Mike
сравни ещё класс и переменную. Что лучше?
Ilya
Что лучше, смартфон или айфон?
Vitaly
Я спрашиваю про конкретную ситуацию, а не в целом
Dj
Ilya
Ilya
Хранение в локальной переменной так то тоже кэш
Michael
Gleb
что лучше, использовать какой-нибудь паттерн проектирования или mvp
Nikita
А я люблю enum'ы. извините...
Anonymous
Использовать интерпритируемый язык или питон.
Anonymous
Лол кек это смешно))0
Никита 🙃
Никита 🙃
Alexander
прогард оптимайзит простые енамчики иногда)
Alexander
https://www.guardsquare.com/en/products/proguard/manual/usage/optimizations
Simplifies enum types to integer constants, whenever possible.
Alexander
мне нравится whenever possible приписка
Никита 🙃
О, спасибо
Mike
Mike
блядский цирк
Nikita
:D мне тож понравилось
Mike
мне нравится whenever possible приписка
да потому что это не тупая пачка констант, у них могут быть собственные методы и реализации интерфейсов, отдельные констунты могут быть анонимными классами и т. п.
Nikita
Mike
Nikita
Mike
Ilya
Ну ок, будут они немного больше памяти есть. Это проблема прям такая? Кто то реально ловил oom от enum?
Nikita
Ilya
2к18 на дворе, ну ((
Nikita
Да это так... ради науки...
Mike
4kb :D
Проверял?
Полагаю, что в сборке после прогарда с энамами лучше
Artur
Привет, такой вопрос можно ли юзать LiveData в RecyclerView холдерах? Ситуация такая что лайв дата отдаёт мне модель, а в ней список айди, которые надо получить отдельным запросом. Какие есть варианты?
Mike
Nikita
Artur
подписать ресайклер на обновление датасета?
именно из вне? Т.е. некая лайвдата которая грузит этот список постов, у каждого поста есть список айди по которым надо получить другие данные и всё это в одной лайв дате?
Nikita
Artur
не, тут наверное чуть другая ситуация
Artur
список постов мы получим легко, но как быть с тем что у каждого поста есть список айди, по которым надо сделать доп. запросы
Artur
это типо как rxJava, по цепочку мы получаем posts, потом возмём каждый из них, смотрим в поле где наш список айди и делаем доп запросы, потом в конце делаем toList()
Nikita
хз, выглядит подозрительно, я бы сначала все данные подготавливал а потом лил в адаптер... не факт что так правильно
Artur
ну вот это, RxJava это решает просто достаточно, как быть c LiveData
Artur
были мысли просто может делать запросы прямо из вьюхолдера, но это надо создавать вьюмодель и подписываться на лайфсайкл
Carnage
Вариант: Если загружаемые данные надо отобразить сразу - делаем слой для загрузчика, если нет то можем загрузчик тоже подписать на LiveData и грузить нужное параллельно.
LiveData дружит с RxJava
Artur
извеняюсь, а что за загрузчик?
Carnage
В контексте MVVM можно предложить создать Repository. Допустим обращаемся к нему, а он вернет LiveData из того же Retrofit. Например
Carnage
В вашем случае данные должны прилетать в класс, который будет отдавать эти данные через методы get/set ресайклеру, а при доступе к конкретной ячейке массива делать запрос для получения доп данных
Carnage
Далее мы можем вернуть LiveData из этих догруженных данных когда адаптер их попросит
Carnage
Можно в лс
Artur
ну получается ViewHolder будет делать observeOn(...) на LiveData которая лежит во вьюмодель
Artur
правильно я понял?
Artur
в observeOn нам вернёт эти доп данные
Carnage
Да
Carnage
Но не берите ViewModel из холдера
Artur
а из чего?
Carnage
Лучше передать из класса который за viewmodel отвечает. Например в момент когда делаете bind
Artur
мне придётся хэндлить лайфсайкл
Carnage
Просто лучше доступ во viewmodel не размазывать по разным классам
Carnage
Либо можете описать интерфейс для ViewModel и реализовать его там
Carnage
Надо смотреть конкретный код. Обсуждение предлагаю в лс. Зря сорить в группе не стоит
Artur
ок, давайте
Gerc
Какие же костыли. Что будет при быстрой прокрутке? 💯 тысяч запросов? А с позицией скролла?
Nikita
Ivansuper
Есть кто-то, кто работал с GLES довольно плотно?
Ivansuper
Если да, напишите. Потом в ЛС вопрос задам
Maksim
А приложение должно как-то быть готово к установке на внешнюю карту памяти? Или тут всё зависит только от устройства?
Maksim
Ну данные хранятся в sqlite стандартным образом
Maksim
нет, ничего такого
Maksim
мне отзыв прилетел что не ставится на карту памяти
вот пытаюсь понять, может ли это зависеть от меня