Size: a a a

Android Architecture

2020 February 21

Н

Никита ✓ in Android Architecture
Спасибо, оч интересная статья
источник

V

Vladimir in Android Architecture
Igor
Кстати, как справляетесь с тем что в экранах где надо загружать данные из room(дб) - может произойти рейс-кондишинами из-за асинхронности?
Те вначале отрисовка будет без данных и только через ~100мс стейт актуализируется (а на дешевых девайсах еще дольше).
отрисовка без данных это как? livedata чтоли?
источник

U

Unat in Android Architecture
Igor
Кстати, как справляетесь с тем что в экранах где надо загружать данные из room(дб) - может произойти рейс-кондишинами из-за асинхронности?
Те вначале отрисовка будет без данных и только через ~100мс стейт актуализируется (а на дешевых девайсах еще дольше).
БД -> IO -> работаю как с сетью.
источник

I

Igor in Android Architecture
Vladimir
отрисовка без данных это как? livedata чтоли?
Сферический пример на мокси
interface Db {
   @МагическаяАннотация("SQL")
   suspend fun loadUser() : User }

class MyPresenter {
   fun onFirstViewAttach() { // Moxy
       // TODO: шо тут делать ведь будет >100мс задержка между отображением фрагмента и результатом вызова loadUser
       launch {
           viewState.setUserName(db.loadUser().name) } } }
источник

(

( in Android Architecture
Igor
Сферический пример на мокси
interface Db {
   @МагическаяАннотация("SQL")
   suspend fun loadUser() : User }

class MyPresenter {
   fun onFirstViewAttach() { // Moxy
       // TODO: шо тут делать ведь будет >100мс задержка между отображением фрагмента и результатом вызова loadUser
       launch {
           viewState.setUserName(db.loadUser().name) } } }
местодержатели 🤷‍♀️
источник

Н

Никита ✓ in Android Architecture
Igor
Сферический пример на мокси
interface Db {
   @МагическаяАннотация("SQL")
   suspend fun loadUser() : User }

class MyPresenter {
   fun onFirstViewAttach() { // Moxy
       // TODO: шо тут делать ведь будет >100мс задержка между отображением фрагмента и результатом вызова loadUser
       launch {
           viewState.setUserName(db.loadUser().name) } } }
Будет стейт без данных - loading
Нет? 🤨
источник

I

Igor in Android Architecture
Те на каждом таком окне нужен прогресс бар который будет тупо мерцать (на норм девайсах)?
источник

ML

Mikhail Levchenko in Android Architecture
Igor
Сферический пример на мокси
interface Db {
   @МагическаяАннотация("SQL")
   suspend fun loadUser() : User }

class MyPresenter {
   fun onFirstViewAttach() { // Moxy
       // TODO: шо тут делать ведь будет >100мс задержка между отображением фрагмента и результатом вызова loadUser
       launch {
           viewState.setUserName(db.loadUser().name) } } }
вставляем условные скелетоны
источник

ML

Mikhail Levchenko in Android Architecture
иначе чо делать то
источник

(

( in Android Architecture
Igor
Те на каждом таком окне нужен прогресс бар который будет тупо мерцать (на норм девайсах)?
можно запариться и делать префетч
источник

(

( in Android Architecture
перед переходом на экран
источник

(

( in Android Architecture
хм
источник

I

Igor in Android Architecture
Mikhail Levchenko
иначе чо делать то
А что… если… держать весь стейт в памяти 🤔 (и как-то в фоновом режиме дампать его на диск)
источник

Н

Никита ✓ in Android Architecture
(
можно запариться и делать префетч
Думал над ИИ в приложении который на основании действий юзера бы делал прелоад данных 🙈
источник

(

( in Android Architecture
Никита ✓
Думал над ИИ в приложении который на основании действий юзера бы делал прелоад данных 🙈
лол
источник

(

( in Android Architecture
Igor
А что… если… держать весь стейт в памяти 🤔 (и как-то в фоновом режиме дампать его на диск)
а я давно говорю
источник

(

( in Android Architecture
кафка на мобилках
источник

ML

Mikhail Levchenko in Android Architecture
Igor
А что… если… держать весь стейт в памяти 🤔 (и как-то в фоновом режиме дампать его на диск)
а что...если...   ты используешь Room не потому что так написано в хендбуке а потому что у тебя тупа много данных
источник

(

( in Android Architecture
и редис на мобилках
источник

I

Igor in Android Architecture
почитав все вышесказанное, возникает ощущение, что при MVI в довесок к обычным задачам будешь ещё часть времени тратить, чтобы придумать как все впилить и чтобы все работало, масштабировалось и вновь прибывшие смогли это хоть как-то понять
источник