@android_ru

Страница 557 из 3205
Юрий
17.11.2016
12:47:22
лежит, да

вот только сучонок работать не хочет)))

Максим
17.11.2016
13:42:37
Расскажите, что значит вот такая запись? class Singleton { public Object get() { synchronized(Singleton.class) { return instance; } }

Можно же залочить и объектом

Google
Максим
17.11.2016
13:42:56
вот в чем принципиальная запись между ними?

synchronized(obj) {}

где, obj - заранее проинициализированное поле этого же класса

Alexey
17.11.2016
13:46:09
@kmaxim смотри на static-методы

balolam
17.11.2016
13:46:13
Расскажите, что значит вот такая запись? class Singleton { public Object get() { synchronized(Singleton.class) { return instance; } }
это аналогично синхронизации на статичесом финальном объекте

и знаешь, такую запись считают плохой практикой

Желательно не синхронизироваться на SomeClass.class

Andre
17.11.2016
13:46:54
Расскажите, что значит вот такая запись? class Singleton { public Object get() { synchronized(Singleton.class) { return instance; } }
Можно, но зачем создавать объект, если можно залочить класслоадер

Максим
17.11.2016
13:46:56
запись - на .class?

balolam
17.11.2016
13:47:10
запись - на .class?
На класс класса)

Andre
17.11.2016
13:47:32
balolam
17.11.2016
13:47:37
Правда без ленивой инициализации

Google
balolam
17.11.2016
13:47:57
+ лучше уже Kotlin-й синглтон

Максим
17.11.2016
13:47:59
ага, я когда-то читал 4 способа организации Singleton в джава

balolam
17.11.2016
14:03:02
ага, я когда-то читал 4 способа организации Singleton в джава
Способов много, но каждый с проблемами

Nikita
17.11.2016
14:03:36
Способов много, но каждый с проблемами
какие проблемы могут быть у enum синглтона?

balolam
17.11.2016
14:03:56
Nikita
17.11.2016
14:04:22
balolam
17.11.2016
14:04:35
+ бывают случаии, когда для создания инстаца нужен к примеру Context (я такого не люблю, но так делают)

Максим
17.11.2016
14:04:58
синглтон - воообще анти-паттерном считается

balolam
17.11.2016
14:05:48
синглтон - воообще анти-паттерном считается
Следовать все правилом - так же рыть себе могилу

Nikita
17.11.2016
14:06:08
синглтон - воообще анти-паттерном считается
слышал ткое мнение уже - случаем не из-за нарушения SRP?

Reaver
17.11.2016
14:06:36
Dmitry
17.11.2016
14:06:52
где считается? кто считает?)

balolam
17.11.2016
14:09:26
где считается? кто считает?)
Это просто способ, который в неумелых руках превращается сквозную функциональность + найдется тот кто еще утечку памяти так заработает

Максим
17.11.2016
14:09:32
первая ссылка в гугле

balolam
17.11.2016
14:09:32
А так, я нормально бы к ним относился

Максим
17.11.2016
14:09:32
http://automated-testing.info/t/singleton/1636

Dmitry
17.11.2016
14:09:43
в мобильных девайсах как раз лучше иногда держать в памяти что-то нежели заставлять GC жрать время

balolam
17.11.2016
14:09:44
Та ясное дело

первая ссылка в гугле
Но это теория, а есть практика

Максим
17.11.2016
14:10:10
а так вообще, я и сам долгое время баловался синглтоном ))

Google
Dmitry
17.11.2016
14:10:14
ну там все про большую жаву

balolam
17.11.2016
14:10:54
а так вообще, я и сам долгое время баловался синглтоном ))
Да ваш же Dagger те же самые синглотоны позволяет создавать (если не вдаваться в подробности)

Dmitry
17.11.2016
14:10:59
тут ресурсы ограничены: я не говорю что все надо в синглтонах делать - но они нужны в некоторых случаях

используйте, не смотрите умные статьи об архитектурах) На практике лучше познается

balolam
17.11.2016
14:13:25
используйте, не смотрите умные статьи об архитектурах) На практике лучше познается
К примеру, можно ApplicationContext зажать в синглтон и все, в любом месте используешь

Dmitriy
17.11.2016
14:14:20
memory leaks

не стоит контекст хранить

Andre
17.11.2016
14:14:52
У нас тут мобайл, нам крайне нежелательно создавать много объектов и провоцировать гц

balolam
17.11.2016
14:14:55
memory leaks
А в чем проблема хранить applicationContext?

Dmitry
17.11.2016
14:15:20
где лики?

balolam
17.11.2016
14:15:22
memory leaks
В чем тут утечка?

Dmitry
17.11.2016
14:16:39
кому нужен rx)Ну кроме мульти сетевых запросов)

Andre
17.11.2016
14:16:40
Я вот еще вчера был крайне удивлен, что сеттеры и геттеры при частом использовании сильно замедляют работу приложения

Dmitry
17.11.2016
14:16:51
смотря где

внутри самого класса - компилятор умный - все заинлайнит

Andre
17.11.2016
14:17:19
Когда один раз используешь - не страшно, но в цикле там элементарно миллисекунды съедаются

Dmitry
17.11.2016
14:17:23
снаружи уже нет(

Andre
17.11.2016
14:17:51
Вот как раз я про "снаружи" :)

Alexey
17.11.2016
14:17:53
@andremacareno гугл же где-то говорил, что сеттеры с геттерами далвик оптимизирует? Миллисекунды?!

Google
Dmitry
17.11.2016
14:18:36
далвик ничего не оптимизирует

Andre
17.11.2016
14:18:49
@andremacareno гугл же где-то говорил, что сеттеры с геттерами далвик оптимизирует? Миллисекунды?!
Я сам вчера гонял, сет + нью еще перепроверю, а вот геттеры точно проигрывают что в далвике, что в арт

Dmitriy
17.11.2016
14:18:50
В чем тут утечка?
ты когда пытаешься сохрвнить контекст а instance, тебе компилчтор говорит, что эт плохая идея

Alexey
17.11.2016
14:19:24
@volkovskiyda и что, ты его слушаешь?

Dmitriy
17.11.2016
14:19:31
всегда

Dmitry
17.11.2016
14:19:32
не

Andre
17.11.2016
14:19:38
ты когда пытаешься сохрвнить контекст а instance, тебе компилчтор говорит, что эт плохая идея
Когда переопределяешь Application и хранишь в нем самого себя - не говорит

Dmitry
17.11.2016
14:19:39
не компилятор а lint

ты ему укажи что тут безопасно

Andre
17.11.2016
14:20:09
К тому же, ты можешь просто зануллить ссылку, когда тебе она больше не нужна

balolam
17.11.2016
14:20:50
всегда
Дак в чем утечка? Утечка ссылки на то что для жизненного цикла приложения и ак выступает в роли синглтона?

Максим
17.11.2016
14:21:32
А кстати, геттеры/сеттеры съедают же лимит методов DEX?

Я в последних приложениях для DTO стал юзать паблик-поля просто

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