Вы уверены, что запускаете отдельные процессы? Отдельные процессы выполняются в отдельных JVM и должны быть специально настроены для этого: см. Процессы и потоки .
Поскольку процессы выполняются в отдельных JVM, вы не можете просто обмениваться данными через общие объекты Java (и синхронизировать доступ с synchronized
). Это можно сделать только при запуске нескольких потоков, работающих в одной и той же JVM.
Вы можете обмениваться данными между процессами с Межпроцессное взаимодействие .
Конечно, вы также можете обмениваться данными через Shared Preferences или файл, но это не уведомляет другой процесс о новых данных, поэтому вы вряд ли сможете назвать это «общением». Также у этого подхода есть проблемы с синхронизацией (чтение и запись одновременно.)