2013-06-12 2 views
2

Какой рекомендуемый подход/шаблон для обмен большой куски данных между действиями и удаленными службами? Данные, которые я хочу получать, являются не примитивными и содержатся в HashMaps <Object, List<OtherObject>>. По-видимому, для меня, по-видимому, полный перебор, есть ли другой путь? О, и этот обмен происходит каждые 4 секунды. в среднем.Обмен большими наборами данных между активностью и удаленным сервисом

+0

Почему сервис удаленный? – CommonsWare

+0

Каков формат данных, поступающих от вашего сервиса? –

+0

Служба удалена, потому что я хочу, чтобы она запускалась на другой поток, так как она действительно выполняет некоторые вычисления. Данные на самом деле являются сильными сигналами Wi-Fi (их история и отпечатки пальцев, созданные из их историй, основанные на различных алгоритмах и методах отпечатков пальцев в базе данных) ... в основном я пытаюсь определить свою позицию на основе данных wifi, которые я собираю. И мне нужно отобразить данные, иначе это сложно понять :) –

ответ

1

Самый эффективный способ обмена большими кусками данных между процессами в Android - ashmem. Существует Java-оболочка для ashmem - MemoryFile, но это довольно запутанно - вам нужно передать подробный файловый дескриптор между процессами, пожалуйста, обратитесь к этому SO post

Затем вы можете просто сериализовать свои данные в этот «файл» и десериализовать его на другой стороне.

0

Нужно ли обновлять данные каждые 4 секунды? Мне это кажется амбициозным. В любом случае вам необходимо рассмотреть, какую форму вы собираетесь хранить. Вам нужно сосредоточиться на эффективности; загружать как можно меньше «метаданных» и кэшировать его.

Смежные вопросы