опыте:
есть библиотека и ее класс UsefulThing, каждый инстанс класса внутри создает новый инстанс Gson и OkHttpClient, я не могу передать в конструктор эти вещи. Либа так написана, что мне нужно порядка 20 инстансов UsefulThing, потенциально больше. Как быстро у аппки начнутся проблемы? Проблемы какого рода кроме OOM стоит ждать?
жесткий вариант - создаешь класс с тем же пакетом и именем, что и у UsefulThing, фиксишь функционал, который тебе нужен)
Из опыта могу сказать, что юзать либы, которые не используются массово всеми разработчиками (как Retrofit например) не стоит - В самой либе может быть баг - Возможности либы могут быть ограничены и придется потом переписывать - Либа может быть не заточена под новые версии Android В общем, я вижу потенциально очень много проблем. Я просто уже не раз натыкался на баги в либах (Navigation Controller, PdfViewer, Cicerone, CircleImageView, и так далее). Какую задачу нужно реализовать? Может проще самому написать?
А у меня выбора-то и нет - это либа для работы с криптовалютами
Кстати, почему бы не скопировать исходники той либы и не подпилить реализацию?
ретрофит не используется массово?
Вариант. Посмотрю, что по времени выходит
Непонятно, что ты предлагаешь взамен. Не брать либу с багами, а написать свою, потому что свои баги роднее?
Не, это был как раз вариант либы, которая используется массово
Я предлагаю перед тем как тащить либу в свой проект потратить время на то, чтобы: - Посмотреть количество звёздочек - Прочитать issue - Изучить код, чтобы понять потенциальные баги и ограничения либы Это как минимум Когда пишешь код своими руками править баги проще и нет зависимости от других разработчиков Что уж говорить когда в стандартных компонентах Android есть баги (я про Behaviour у BottomSheet)
Ну вот я взял компонент для ввода кода из СМС: 30 звёзд, висят бессменные 3 issues, код так себе. Свой писать?) Нет, спасибо, работа с InputConnection там написана норм, а внешний вид я в состоянии поправить.
В этом конкретном кейсе даже не я либу брал. Тут распоряжение простое - работать именно с этой
Ну вот если эти issue не мешают проекту, то ок
Обсуждают сегодня