Дмитрий
Как гарантировать доставку пуша когда у пользователя могут: 1. сесть телефон 2. потеряться связь 3. кончиться деньги на интернете 4. еще куча вариантов ?
Сергій
5. телефон украдут
やみ
6. быть запрещены фоновые приложения на очередном сяоми
Дмитрий
Дмитрий
6. быть запрещены фоновые приложения на очередном сяоми
Это можно попросить пользователя выключить)
Sergey
7. Пользователь может банально умереть. 🤷‍♂
Дмитрий
7. Пользователь может банально умереть. 🤷‍♂
но пуш-то получит) Умирает человек а не телефон)))
Ivan
Ребята, такой вопрос, не могу найти в документации четкого ответа. Вопрос про Firebase Messaging, вызывается ли onNewToken (FirebaseMessagingService) если приложение изначально убито? Если да, то покажите пожалуйста пруфы ?
やみ
Это можно попросить пользователя выключить)
Можно ещё также попросить пользователя всегда держать телефон заряженным, всегда пополнять счёт своевременно, не идти в лес, не терять телефон, ещё куча вариантов...
Denis
FCM, вроде, даже на doze mode похуй
Ilia
Вопрос. У меня есть своя разметка для alertDialog. Когда Я запускаю алерт, то он растягивается не так как в разметке. Как это пофиксить?
Nikolay
парни, есть вопрос новичка в ведре: есть вьюха – contstrainsLayout, внутри которого recyclerView. у activity этой вьюхи типичная простейшая имплементация из всяких уроков – адаптер там, вью холдер, простая работа с сетью через volley и picasso. вроде всё асинхронно, вроде везде, где работа с json'ами обёрнуто в реактивные вызовы fromCallable, а вьюха при открытии очень медленно открывается и тормозит при скролле, соответственно со всякими: Choreographer: Skipped 86 frames! The application may be doing too much work on its main thread подскажите плес, куда копать и на что обратить внимание
SerJanna
Слишком много жрет говорят
Yakov
Слишком много жрет говорят
Если не в ресайклере, то меньше чем 2 вложенных линера
Yakov
Есть ссылка?
Помню что в падкасте было каком то, 63-65 где-то в этом диапазоне
Nikolay
Думаю из за пикассо, картинки какого размера?
апи позволяет брать любого, сейчас гружу 100*100
Yakov
Android подкаст
Yakov
апи позволяет брать любого, сейчас гружу 100*100
Хз ну по идее размер не большой, у меня было такое когда мне сервер картинки присылал большие
Nikolay
Стараюсь обходиться без констрейта
констрейт снаружи ресайклера, если что про "не совать внутрь констрейт внутрь ресайклера" уже где-то читал
Nikolay
может в андроид окружении есть какие-нибудь инструменты, чтобы посмотреть чем там ui-тред занимался?
Nikolay
Профайлер
попробовал сейчас это конечно симпотично, но не особо говорит мне о том, чем там занимался ui-тред :)
Nikolay
а, всё, понял как раскрыть
Nikolay
спасибо!
Anonymous
Доброй ночи всем! Я не в теме разработки, но делаю it проект. Внимание знатоки, вопрос)) Сколько по требуется времени и денег на решение этих задач?
Anonymous
Nikolay
Переопредели метод onFailedRecyclerView и посмотри, ресайклятся ли вьюхи у тебя
спасибо, проверил, но вьюхи переиспользуются как положено частично при помощи профайлера проблему нашёл – я в viewHolder сунул Picasso.get(), который на старте активити съедает аж ~3 секунды, уже вынес эту конструкцию в синглтон инициализирующийся на старте приложения
Nikolay
при прокрутке теперь фризов нет, но при первичной загрузке всё-равно видно, что некоторые фреймы дропаются
Nikolay
все последующие оффсеты с картинками грузятся и крутятся как надо, а вот первый батч как-то тяжко идёт
Nikolay
А что находится во ViewHolder?
ну теперь он выглядит так
Yakov
ну теперь он выглядит так
Это у тебя оптимизация с findViewById? Или есть другие соображения их так юзать? Почему не itemView.user_id.text = comment.text в методе bind.
Arka
ну теперь он выглядит так
Зачем пикассо в конструктор?
Кирилл
Зачем пикассо в конструктор?
Чтобы не делать класс иннером.
Захар
Друзья всем привет, я новичок в этом всем и хотел у вас спросить, как реализовать horizontal scrollview между фрагментами. Может есть тутор какой, просто хз как написать правильно, но хочу чтоб как было ниже на скрине
Захар
Said
Это viewPager
Захар
Спасибо, уже нашёл тутор
Евгений
Можно ли определить что апп запустился но ни одной активити создано не было?
Michil Shkulyov
Использовать логи?
Евгений
Использовать логи?
да не. мне надо в коде сделать действия если апп просто запущен но активити нет
Евгений
это при получении пуша происходит
Aleksandr
да не. мне надо в коде сделать действия если апп просто запущен но активити нет
Я на бродкастах делал, один в активити регался, другой с нижайшим приоритетом в манифесте, если активити есть, то бродкаст перехватывался и дальше не выпускался, иначе бродкаст для нотификашки
central
Что делать если мне в тестах нужен applicationContext?
Дмитрий
Что делать если мне в тестах нужен applicationContext?
Запускать тесты на телефоне/эмуляторе или использовать robolectric. А если это юнит тесты то рефакторить код что бы не требовался контекст.
Евгений
Activity lifecycle callback например
именно про это и подумал... спасибо
Denis
ну теперь он выглядит так
Что за commentsList? У тебя есть вложенный список?
Denis
Если у тебя в viewHolder есть ресайклер, то у него свой отдельный viewPool. Сделай общий viewPool. В onCreateViewHolder сделай holder.commentsList.serRecycledVieePool(viewPool)
Denis
Может помочь
Nikolay
Это у тебя оптимизация с findViewById? Или есть другие соображения их так юзать? Почему не itemView.user_id.text = comment.text в методе bind.
я думал там view не типизированный, а просто интерфейс, ок, попробую сегодня вечером.
Nikolay
Зачем пикассо в конструктор?
чтобы не инициализировать его в холдере/адаптере
Dyno
У гугля есть штатное апи для сокращения ссылок. Где то в консоли всех api. Но х.з. какая у него скорость. А так встроенный gзип сожмет раза в 3-4
А ты можель скинуть код методов compress, decompress для String? Я нагуглил два разных метода. Один работает за 9 секунд, второй за 12. Вроде что тут думать, бери первый, а вдруг у него какие-то недостатки.
Alex Android
Хм, как дестроить активити без прерывания дебага в сингл-активити приложении?
Dyno
если тебе надо продебажить onSaveInstanceState, например
Nikolay
А ещё лучше LayoutContainer.
вот это был крутой совет, он как раз сильно улучшил перфоманс на прокрутке
Vadim
Кто нибудь знает куда делся swiperefreshLayout в версии 1.1.0 в com.google.android.material:material ?
Vadim
апнулся с 1.0.0 до 1.1.0-alpha10 и он вообще пропал
Vadim
пропал? классная штука была
По импорту <androidx.swiperefreshlayout.widget.SwipeRefreshLayout не находит, да и вообще когда пишешь Swipe… то пусто
Vadim
может как-то по другому называется, кто в курсе?
Nikolay
Что за commentsList? У тебя есть вложенный список?
нет, вложенных списков нет. спасибо, посмотрю на собственный pool ресайклера.
Vadim
а что гугл говорит?
у гугла еще старая дока: <android.support.v4.widget.SwipeRefreshLayout
Denis
нет, вложенных списков нет. спасибо, посмотрю на собственный pool ресайклера.
так, не заметил, что это просто список. А когда вызывается метод setComments?