François Leclercq
Уже и материться нельзя?
François Leclercq
Одмин, ты где?
Volodymyr
на первом месте?
нет, поставил на первое и заработал Большое спасибо!!!!
Mike
Одмин, ты где?
я стикер твой удалил, потому что много места и неинформативно
Himars
Да здравствует андроид Вот посетила мысль - как в android 8 реалиовать правильно загрузку больших файлов? Для этого же надо запускать сервис, который теперь очень ограничен по времени работы. Если в фореграунде, так юзер может свернуть приложение... Как же все-таки правильно это реализовать? Неужели с помощью JobSchehduler? Или я может быть туплю?
Mike
+ download manager + WorkManager
Сергій
>download manager он разной степени кривости на разных прошивках
Himars
+ download manager + WorkManager
на момент выхода Android O workManager был в стадии зародыша
Artem
Ребята, что в этом блоке кода не так? (при нажатии на чек бокс, не учитываются пробелы в строке). Блок начинается с 79 с 95 https://github.com/Enclave-Software/Counter/blob/master/app/src/main/java/software/enclavegroup/counter/MainActivity.java
Himars
Мне просто интерестно как это реализовали разработчики Telegram... Если все же JobScheduler или JobIntentService... как правильно обновлять UI? Не посылайте в гугл, так как давным давно уже находил инфу по этой теме. Но обновление UI с помощью broadcast как то очень костыльно смотрится....Как все же лучше такое сделать?
Thymomenos
нигде не найти...
я говорю же, найти решение не могу я перепробовал все подобные варианты у меня в горизонтальной ориентации камера почему-то плывет, но фоткает нормально и в вертикальной ориентации, а когда вертикальная ориентация - камера не плывет и фоткает в горизонтальной ориентации
Андрей
и линкед хеш мапы тоже...
И три мапы тоже...
Mike
Ребят, а такой вопрос: кто-то реально в андройде линкедлисты юзал?
Линкедлисты вообще не нужны, ни в андроиде, ни где-либо.
François Leclercq
и линкед хеш мапы тоже...
Еще есть наверн извращенцы что ConcurrentHashMap используют =)
François Leclercq
Раз уж оффтоп зашел, то кто когда в последний раз использовал ключслова synchronized, volatile? :D
Андрей
Линкедлисты вообще не нужны, ни в андроиде, ни где-либо.
а что делать если в список нужно засунуть более чем 2,5 миллиарда сущностей?
François Leclercq
François Leclercq
volatile и atomic я использую, конечно
Атомик понятно, а волатайл?
Mike
Атомик понятно, а волатайл?
что «а волатайл»?
François Leclercq
Nikita
Атомик понятно, а волатайл?
счетчик какой нибудь...
Андрей
использовать SQLite
не, прям работать с 2,5 миллиардом сущностей, нет времени всё в бд пихать
Mike
Толстовато
ты либо нормально задавай вопросы, либо на задавай вообще
François Leclercq
счетчик какой нибудь...
Под капотом у циклов
Sergey
а что делать если в список нужно засунуть более чем 2,5 миллиарда сущностей?
если все в конец списка - только линкед лист. Если в середину - один хер аррэй лист быстрее будет
Mike
не, прям работать с 2,5 миллиардом сущностей, нет времени всё в бд пихать
несколько массивов, но это всё равно не про андроид
François Leclercq
ты либо нормально задавай вопросы, либо на задавай вообще
Серьезно? Мы что, на уроке русского пятый класс? Марьиванна, когда мы используем переменную типа volatile?
Андрей
может, наоборот?
и да, наоборот
Sergey
спасибо, я думаю про Big O Notation тут все в курсе =)
Пожалуйста, биг о тут не причем. Спасибо
Андрей
т.к. придется передвигать все элементы, а это долго
Igor
если все в конец списка - только линкед лист. Если в середину - один хер аррэй лист быстрее будет
Один хеp быстpее будет ArrayList из-за того, как написан, скоpее всего)
Mike
ну и с Atomic*FieldUpdater, да
Mike
т.к. придется передвигать все элементы, а это долго
в линкедлистах доступ очень медленный, уж лучше медленно писать, чем медленно читать
Sergey
т.к. придется передвигать все элементы, а это долго
Не долго. В линкед листе тебе еще добраться до позиции надо, это оверхед. А аррэйлист юзает нативные инструкции, с которыми он копирует весь массив быстрее, чем ты перебираешь линкед лист. Спасибо
François Leclercq
тогда, когда поле пишет один поток, а смотреть могут несколько
Спасибо кэп. Я о конкретном юзкейсе. Или тебе нужно все максимально разжевывать чтобы получить вменяемый ответ? Что за формализм
Sergey
счетчик какой нибудь...
Плохо волатайл для счетчиков
François Leclercq
Вопрос был когда ВЫ ИСПОЛЬЗОВАЛИ волатайл, а не когда его нужно использовать
Sergey
может, наоборот?
Нет, не наоборот
Mike
Спасибо кэп. Я о конкретном юзкейсе. Или тебе нужно все максимально разжевывать чтобы получить вменяемый ответ? Что за формализм
В каких случаях ты используешь переменные? Нет, я понимаю, что когда нужно хранить данные. А КОГДА?
🤬
Mike
Нет, не наоборот
ага, понял мысль
Mike
Кроме толстоты от тебя можно что-то услышать вообще?
нет, пока не научишься нормально общаться
Андрей
Вы так говорите, как будто в LinkedList нет такой строчки transient int size = 0;
Note that a LinkedList will report the size wrongly if it is bigger than Integer.MAX_VALUE
François Leclercq
нет, пока не научишься нормально общаться
И в чем ненормальность моих вопросов?
Mike
И в чем ненормальность моих вопросов?
в том, что они очень абстрактные. Но при этом ты очень злишься, когда получаешь такие же абстрактные ответы.
François Leclercq
в том, что они очень абстрактные. Но при этом ты очень злишься, когда получаешь такие же абстрактные ответы.
Я не злюсь. Просто твои попытки пошутить нелепы. Это действительно редкий случай и под него можно придумать ситуацию и описать ее. Не книжными примерами, конечно.
François Leclercq
Или нельзя? Ну почему бы тогда так и не сказать
Nikolay
Note that a LinkedList will report the size wrongly if it is bigger than Integer.MAX_VALUE
а еще addAll сломается, indexOf и т.п. size на самом деле там много где завязан
Mike
Я не злюсь. Просто твои попытки пошутить нелепы. Это действительно редкий случай и под него можно придумать ситуацию и описать ее. Не книжными примерами, конечно.
Я не пытаюсь пошутить. Любые изменяемые данные — это редкие случаи, которым место только в низкоуровневом библиотечном коде, структурах данных, etc. Изменяеые данные, разделяемые между потоками — ещё большая дичь, которая встречается ещё реже.
Mike
Пример. Есть объект, который описывает попытку загрузить картинку. Состояние — грузится/загружено/фейл — volatile.
François Leclercq
@Harmonizr Приведу антипример, если ты настаиваешь на абсурде. Видел в коде одного чувака volatile Exoplayer ep. Спросил - зачем. Тот же ответ, мол из разных потоков обращаются. Но ващет волатайл нужен когда мы юзаем переменную которая настолько часто используется что попадает в кеши и оттуда в нее пытаются залезть разные потоки
Sergey
А не только то, что часто используется
Mike
А мне казалось что многопоточка детерменирована если соблюдать определенные правила
Именно. Например, volatile гарантирует, что данная запись и всё совершённые до неё станут видимыми.
Himars
Download manager выше написали
Погодь Так download manager вешает нотификацию. а в телеге нет никаких нотификаций - как бы что меня и заинтереовало... Хотя на Android 8 я не запускал телегу.