Eugene
для LiveData
Igor
Для pетейн контейнеpа у меня код стpашненький, но если хочется увидеть – напишите, скину.
Eugene
LiveData — очень ограниченная штука. Только main thread, только BehaviorSubject, да ещё и с synchronized.
не только мэйн тред, можно делать postValue из любого треда
Kanstantsin
LiveData — очень ограниченная штука. Только main thread, только BehaviorSubject, да ещё и с synchronized.
согласен, поэтому и отказался от LiveData как-тоб ну вот челы из гугла как я их назову, в статья все как один кидают, RX, Livedata и т.д. и никт оне пишет про асинктаски и ThreadPool например, или пишут и я не видел ? или же челы из гугла не заморачиваются с java ?
Igor
Прикольно.
Так же можно pаботать с mapbox/google map напpимеp, абсолютно null-safe код будет.
Igor
Огpаниченный жестко пpичем
Kanstantsin
ThreadPool надо знать до вкатывания в Android, потому что это часть Java. А про AsyncTask не пишут потому что он всем надоел.
ну и толкают все как один уже Rx тот же с retrofit, для базы тоже Rx объекты сразу от базы возвращаются
Kanstantsin
типо модно, удобно, молодежно
Igor
Ну в целом одно дpугому не мешает, где-то не получится сделать кpасивый rx-код, где-то не получится сделать кpасивый код на экзекьютоpах.
Artur
привет, делал кто кастамное модель лоудеры для глайд?
Anonymous
ThreadPool надо знать до вкатывания в Android, потому что это часть Java. А про AsyncTask не пишут потому что он всем надоел.
По моему достаточно знать лишь rx, не нужны даже asynctask и handler. Человек который знает только rx может выполнять те же задачи что и тот который знает больше, с абсолютно той же эффективностью. Конечно знать больше полезно, но rx достаточен.
Dug
По вашей логике можно обмазаться кучей либ и на изи кодить, не зная ничего.
Anonymous
Вот выше только что сказали, что большая часть задач решается без Rx.
Ну я не спорю, однако зная только rx можно их решить
Mike
Ну я не спорю, однако зная только rx можно их решить
Можно, но когда настанет MultiDex, что бросать за борт? Да и время загрузки/верификации/компиляции классов в ART — это боль.
Kanstantsin
Знать, что такое handler и как он работает обязан каждый уважающий себя андроид разработчик) Не несите чушь
с этим я тоже соглашусь, как и то что очень приятно всё равно работать с Rx и я бы брал всё равно его в свой проект
Kanstantsin
Можно, но когда настанет MultiDex, что бросать за борт? Да и время загрузки/верификации/компиляции классов в ART — это боль.
а чем так критичен мультидекс ? что прямо вот с ним нельзя жить ? опять же были проекты где жили с ним и ничего
Mike
а чем так критичен мультидекс ? что прямо вот с ним нельзя жить ? опять же были проекты где жили с ним и ничего
Объёмом кода, который нужно загрузить, скомпилировать и держать в памяти несчастного телефона.
Kanstantsin
Объёмом кода, который нужно загрузить, скомпилировать и держать в памяти несчастного телефона.
ну знаете, раньше согласен я даже BitmapOutOfMemory ловил и т.д. сейчас с памятью уже давно проблем и багов не ловил, может у меня слишком простые приложения конечно, но с теми же фотками раньше было больше гемора, сейчас че-то памяти хватает )
Kanstantsin
я сам вспоминаю те времена, когда телефоны были слабые и ппц творился у них, а сейчас даже все слушают эти рассказы, как сказки из детства ))
Kanstantsin
и не верят
Kanstantsin
ахаха )
Igor
https://github.com/komigor/RxBinary вот это все сделано было pади того, чтобы вписать Rx в bluetooth. ИМХО, не стоит того.
Anonymous
По вашей логике можно обмазаться кучей либ и на изи кодить, не зная ничего.
Ну да, едиственное отличие что разработчик будет работать не с интерфейсом нативного андроида а с интерфейсом либ, на уровень выше. С точки зрения решения задач нет разницы.
Kanstantsin
Они остались слабыми.
ну вот нет, процент тех самых слабых совсем невелик, сейчас даже за 200$ все берут и там памяти и всего остального по железу дофига, единственный минус это порезанная система, конкретными производителями, и баги отдельные на каждого, но это другая история )
Mike
И это не no-name-приложуха от школьника. Это из топ-100 самых популярных!
Roman
Как и Фейсбук
Kanstantsin
У меня на Nexus 5X тормозит лента в твиттере. Видимо, его разработчики как раз считают, что телефоны сильные и справятся.
удивлен, мой предыдущий телефон, нравился и работал ок, твиттер не юзал, тормозил скайп знаю, но он тормозил и на пикселе у меня, проблема я думаю не только в железе была
Kanstantsin
не всё упирается ещё в железо, мне кажется приложение можно написать откровенно плохо, что оно будет работать и на топовом телефоне и на слабом одинаково
Kanstantsin
и тогда это не говорит о слабости конкретной модели
Dug
Как и Фейсбук
про фб лучше вообще помолчать....)
Mike
У меня на том же телефоне инстаграм жутко лагает
На Мобиусе один докладчик рассказывал, что инстаграм год занимались оптимизациями своего приложения. Судя по тому, что у них собственный JSON-парсер, оптимизировали они не там, где надо.
Kanstantsin
Kanstantsin
на телефоне так заметно ) на десктопе вроде тоже )
Mike
ну сейчас стало лучше )
«сейчас» — это когда? Я только ухудшение наблюдаю.
Dug
Скайп не на ксамарине написан разве?
Kanstantsin
а вообще один товарищ разраб говорил мне: "Вот с тех пор как скайп купили микрософт, он скатился в полное дно" не знаю соглашаться ли с ним, но фраза веселая )))
Mike
Скайп не на ксамарине написан разве?
мобильный на реакте теперь вроде
Kanstantsin
ещё вопрос вот в винду тоже встроен скайп уже кстати, а я забылся и поставил отдельно ))
Roman
Kanstantsin
Это работа для антимонопольного комитета!)
да в принципе пофиг, на винде тоже хрома нету по умолчанию ))
Kanstantsin
в итоге всё сводится к запуску дефолтного браузера и установке хрома ))
Kanstantsin
на новой системе )
Павел 🍵
yo, может кто подкинуть годный гайд какой как начать писать тесты для своего приложения
Kanstantsin
Это работа для антимонопольного комитета!)
а есть какие-то дефолтные ThreadExecutor в анройд ? ато гляжу там чтобы его создать нужно кучу параметров задать, люди фигачат целые классы Suplier, хотел попробывать простейший примерчик
Mike
а есть какие-то дефолтные ThreadExecutor в анройд ? ато гляжу там чтобы его создать нужно кучу параметров задать, люди фигачат целые классы Suplier, хотел попробывать простейший примерчик
Дефолтных нет. Есть фабрика Executors. Имеет смысл на всё приложение создать пару экзекьюторов — computations размера приблизительно max(1, availableProcessors() - 2) и io размера 2..4.
Mike
Ещё надо передать ThreadFactory, которая будет создавать потоки и понижать им приоритет.
Алексей
Просто, возможно, я вне контекста
Mike
А какие задачи?
Да любая многопоточка.
Алексей
Да любая многопоточка.
Просто многопоточка в андроиде разная бывает
Mike
Просто многопоточка в андроиде разная бывает
Имеется в виду вся. Но обычно это сеть, конечно.
Алексей
Для сети проще Executors использовать
Алексей
Если речь об IntentService, то там всё сложнее
Kanstantsin
Дефолтных нет. Есть фабрика Executors. Имеет смысл на всё приложение создать пару экзекьюторов — computations размера приблизительно max(1, availableProcessors() - 2) и io размера 2..4.
это здорово конечно, но телодвижений уже немало, считай слой нафигать для работы с requests стоит ли оно того всё же..
Алексей
Про Executors - есть стандартные реализации, которые требуют или один, или нисколько параметров
Mike
это здорово конечно, но телодвижений уже немало, считай слой нафигать для работы с requests стоит ли оно того всё же..
ну да, compile 'io.reactivex..., конечно, проще, чем использовать встроенные инструменты. Пусть работает процессор телефона, пока прогер отдыхает.
Dug
И вообще это самый странный аргумент: "рх для многопоточки"
Mike
то есть вы связываете тупизну приложений с использованием rx как вариант ? хм-хм
По большей части Rx используется из-за лени. Которая приводит и к другим, разрушительным последствиям.
Kanstantsin
И вообще это самый странный аргумент: "рх для многопоточки"
ну почему, Rx для тасков, с retrofit для request, с database для room
Kanstantsin
например