Size: a a a

Android Developers

2021 May 09

DM

Dmitriy Marchenko in Android Developers
воркменеджер живёт также своей жизнью и не привязан к аппу. синглтон общий для всех. я не пойму как это происходит но судя по логам оно создаёт ещё один инстанс
источник

DM

Dmitriy Marchenko in Android Developers
<service
           android:name=".fcm.FCMService"
           android:exported="false"
           android:stopWithTask="false" >
           <intent-filter>
               <action android:name="com.google.firebase.MESSAGING_EVENT" />
           </intent-filter>
       </service>



       <service
           android:name=".foreground_service.EndlessServiceAUC"
           android:enabled="true"
           android:exported="false" />


       <service
           android:name=".background_service.BackgroundService"
           android:directBootAware="true"
           android:enabled="true"
           android:exported="false"
           android:process=":Remote" />
источник

QH

Quantum Harmonizer in Android Developers
Ага. Путаешь потоки с процессами.
источник

QH

Quantum Harmonizer in Android Developers
Разные процессы принципиально не могут шарить один объект.
источник

DM

Dmitriy Marchenko in Android Developers
там есть запросы которые реализованы через общий синглтон. и оно не синхронизируется(
источник

DM

Dmitriy Marchenko in Android Developers
как победить?
источник

QH

Quantum Harmonizer in Android Developers
Он не общий. У тебя разные вир уал ныне машины, у них разная память.
источник

QH

Quantum Harmonizer in Android Developers
Убрать дочерние процессы.
источник

MO

Michael Orlov in Android Developers
Отказаться от использования процессов и перейти на потоки в сервисе
источник

QH

Quantum Harmonizer in Android Developers
Не могу понять, что мешало прям здесь ответить «да».
источник

DM

Dmitriy Marchenko in Android Developers
эммм... задача:

есть фореграунд сервис который живёт без аппа ходит в сеть и тп
есть сервис который лежит под аппом и ловит SSE
есть воркманагер который ходит в сеть и синькает коечто на серваке
есть сам апп

есть один синглтон через который организована сеть и ещё один с БД

и есть ключики акцесс и рефреш которые надо синькать между всеми этими вещами

подскажите тогда по архитектуре что не так если нельзя расшарить БД и Ретрофит между ними?

как это будет выглядеть в одном процессе?
источник

DM

Dmitriy Marchenko in Android Developers
глобальный недосып) сорри)
источник

QH

Quantum Harmonizer in Android Developers
В одном процессе это будет выглядеть так: в манифесте у компонента не будет атрибута process.
источник

DM

Dmitriy Marchenko in Android Developers
кхм... ну да... тут Remote
источник

DM

Dmitriy Marchenko in Android Developers
ну тогда ещё тут же возникший вопрос: а если всётаки remote ? какие варианты шарить данные? броадкаст?
источник

DM

Dmitriy Marchenko in Android Developers
куда читать?)
источник

MO

Michael Orlov in Android Developers
А зачем вам собственно remote?
источник

QH

Quantum Harmonizer in Android Developers
А зачем?
Тогда можно bindService или триггеры в БД.
источник

DM

Dmitriy Marchenko in Android Developers
это уже другой вопрос)))

да просто хотябы знать как работать в мультипроцесс если напрямую ничего не шарится... хотя шарится но странно читать оно может и писать... только не синхронизируется
источник

QH

Quantum Harmonizer in Android Developers
Там будет очень много странного. Например, разъёб кэшей HTTP-клиента, если оба смотрят в одну директорию.
источник