@android_ru

Страница 301 из 3205
Dev??
27.09.2016
08:21:43
Я там скачал пару видеоуроки

И александра климова кто читает?

Nikolay
27.09.2016
08:22:25
startAndroid, @ImangazalievM еще ведет канал вроде.

Ivan
27.09.2016
08:22:57
Ну слабая удаляется сразу при вызове сборника, мягкая только если не хватает памяти, это понятно

Google
Gundabadec
27.09.2016
08:23:09
И александра климова кто читает?
на старте можно, потом лучше https://developer.android.com/index.html

Игорь
27.09.2016
08:24:04
у тебя сколько?

Artem
27.09.2016
08:24:18
а еще лучше кодить и гуглить

Ivan
27.09.2016
08:25:15
Просто если жёсткой ссылке присвоить нулл, то котлин подсвечивает, что дальше переменная не используется и нет смысла присваивать ей новое значение

Gundabadec
27.09.2016
08:25:19
Не совсем понял
Создал объект привязал к жесткой ссылке(Object o = new Object). Использовал, потом присвоил к WeakReference а жесткую ссылку обнулил (o=null)

Ivan
27.09.2016
08:26:19
Вот я выше написал в чем соль

Gundabadec
27.09.2016
08:27:22
если это локальная переменная то она сама пропадет при выходе из функции?

Ivan
27.09.2016
08:29:20
если это локальная переменная то она сама пропадет при выходе из функции?
Локальная, но метод выполняется около минуты, а обьект достаточно массивный

ThisIs
27.09.2016
08:29:59
Как вы боретесь с большим кол. ресурсов?, типа пакеты папки итп, а то как то не очень выглядит activity fragment adapter итд все в одной директории, + всякие иконки тоже

Ivan
27.09.2016
08:31:33
Может разбить его на два метода?)
Большой джейсон парсим и сохраняем в бд, никак его не разбить)

Google
Seraphim
27.09.2016
08:37:34
Большой джейсон парсим и сохраняем в бд, никак его не разбить)
А смысл тут для ref? Они нужны для хранения чего-то в глобальной области, а не в локальной. Если вы парсите json с использованием этого огромного объекта, то он никуда не денется, пока метод не отработает до конца, а когда отработает - все strong ссылки на него пропадут и gc его хлопнет

У меня на скрине там хранятся рефы на фрагменты, которые теоритечки может вызвать memory leak, но к ним я хочу обращаться напрямую, а не искать каждый раз в менеджере. Вот здесь и пригождаются weak|soft

Ivan
27.09.2016
08:41:28
Соответственно первая ссылка становится не нужна

Seraphim
27.09.2016
08:43:04
Это оверхед. Вы так пару байтов съэкономите. Насколько я понял, у вас там array и есть самое жирное

Типа {"response":[...]}

Вы решили от вот этого избавиться?)

Забейте, это бред. Вы на копейках экономите. Оно никуда не утечёт и ничего не зажмёт

Denis
27.09.2016
08:47:31
а у кого тут была проблема с прокруткой recyclerview на нужный элемент?

а, есть же поиск -__-

Ivan
27.09.2016
08:52:54
Типа {"response":[...]}
Чет я аж подзавис) снижение количество используемой ОЗУ показал, что вроде как есть в этом смысл

Сейчас покажу часть кода чтобы понятно стало, в то я ещё тот рассказчик

В данный момент так ☝️

Muslim
27.09.2016
08:53:21
не подскажете, какой лучший вариант совместно вести проект на андроид? андроид студио

Nikita
27.09.2016
08:54:23
Омг, гит

Seraphim
27.09.2016
08:54:36
Сейчас покажу часть кода чтобы понятно стало, в то я ещё тот рассказчик
Ну я понял. Там и правда копейки будут. Он же вам дал ссылку из себя. Т.е было 100 яблочек, вы 95 забрали и 5 выкинули

Google
Nikita
27.09.2016
08:54:40
Гитлаб если нищеброд или гитхаб

I
27.09.2016
08:54:58
bitbucket.org еще есть для нищебродов)

Seraphim
27.09.2016
08:54:59
Если конечно там таких массивов в json не 50 штук

Mikhail
27.09.2016
08:55:22
битбакет причем приватные позволяет бесплатно в отличии от гитхаба

Denis
27.09.2016
08:55:40
Помогите советом, плз. У меня есть активити с поиском, где может показываться клавиатура, вытесняя контент. Из этого активити по тыку открывается другое активити с recyclerview, при этом нужно спозиционировать определенный элемент в центре. После открытия и наполнения recyclerview я делаю llm.scrollToPositionWithOffset(index, height * 4 / 10) Всё норм, если клавиатура была спрятана. Но если она была открыта, то позиция выставляется криво. Если обернуть этот вызов в recyclerView.post({ ... }, 1000) – всё норм. Т.е. вероятно связано с анимацией скрытия клавиатуры Как бы это лучше решить, чтобы поменьше костылей типа таймингов?

I
27.09.2016
08:55:51
но там до 5 человек в команде, на битбакете

Alexey
27.09.2016
08:58:11
bitbucket.org еще есть для нищебродов)
ок, я нищеброд, мне нравится битбакет

Ivan
27.09.2016
08:58:14
Ну я понял. Там и правда копейки будут. Он же вам дал ссылку из себя. Т.е было 100 яблочек, вы 95 забрали и 5 выкинули
Странно, что на слабых девайсах после этого стало нормально выполняться, ранее был оом.

I
27.09.2016
08:58:26
Alexey
27.09.2016
08:58:41
потому что там бесплатные приватные репы

если что-то публичное, то на гитхаб выкладываю

Alexey
27.09.2016
08:59:02
приватное на битбакет

Ivan
27.09.2016
08:59:16
Как тогда сделать к примеру так, чтобы перебирая итемы в цикле, мы удалили из памяти уже сохраненные джсонОбжекты

?

Alexey
27.09.2016
09:01:39
итератор по коллекции и в конце каждого цикла remove(0)
фу итераторы( только индексы, только хардкор!

Alexey
27.09.2016
09:01:57
be memory effective, don't use iterators

Google
Seraphim
27.09.2016
09:02:36
фу итераторы( только индексы, только хардкор!
Идя по индексам нельзя модифицировать коллекцию. Удалишь что-нибудь в таком цикле - словишь ConcurrentModificationException

Admin
ERROR: S client not available

Alexey
27.09.2016
09:03:13
Идя по индексам нельзя модифицировать коллекцию. Удалишь что-нибудь в таком цикле - словишь ConcurrentModificationException
да ладно? это же обычно когда многопоточно пытаешься из 2-х потоков модифицировать итем

Alexey
27.09.2016
09:04:11
А ты попробуй)
хм надо попробовать, итерируешь по коллекции и в цикле пытаешься удалить элемент этой коллекции так?

попробую.

Ivan
27.09.2016
09:04:30
В цикле точно не получится

Alexey
27.09.2016
09:04:54
почему ?

должно

Seraphim
27.09.2016
09:06:05
https://dev64.wordpress.com/2013/03/11/how-to-deal-with-concurrent-modification-exception/

Вот вам занятное чтиво по этому поводу

А можете просто залезть в сурсы любой коллекции и увидеть сами

Ivan
27.09.2016
09:06:42
Может мы о разных вещах говорим, но я ловил concurrent modification exception

Seraphim
27.09.2016
09:07:04
Может мы о разных вещах говорим, но я ловил concurrent modification exception
> Удалишь что-нибудь в таком цикле - словишь ConcurrentModificationException

Ivan
27.09.2016
09:07:38
Я об этом же

Seraphim
27.09.2016
09:10:52
У него есть переменная expectedModCount

И если она не равна modCount, он кидает ex

Google
Seraphim
27.09.2016
09:11:28
И чекает он её на каждом модифицирующем методе

Nikolay
27.09.2016
09:24:52
Есть связка Rx + Retrofit 2. Backend возвращает 500 ошибку и ключевое слово этой ошибки. В зависимости от ключевого слова надо отобразить правильный диалог. Как это можно разрулить с Rx?

Если быть более точным как это вытащить из onError?

Gundabadec
27.09.2016
09:25:42
В errorBody строку кидай

и в onError забирай строку из HttpException

Nikolay
27.09.2016
09:27:19
Работает.

Спасибо

Alexander
27.09.2016
09:42:21
Как тогда сделать к примеру так, чтобы перебирая итемы в цикле, мы удалили из памяти уже сохраненные джсонОбжекты
как помучаетесь ещё с недельку и не написав работающего велосипедного решения посмотри в сторону SAX парсера

Maxim
27.09.2016
10:07:14
Всем привет ! подскажите как сделать так чтобы при на нажатие на кнопку открывалась новая activity но чтобы она открывалась не поверх этой, а снизу этой кнопки, то есть чтобы кнопка была всегда видна ? вариант прописать такую же кнопку в другой activity не подходит.

Maxim
27.09.2016
10:09:45
при переходе происходят скачки смотриться не очень

Страница 301 из 3205