Совместное использование памяти между процессами в Android с помощью Memory-mapping - PullRequest
0 голосов
/ 28 марта 2019

При просмотре документации по Android для управления памятью я наткнулся на этот конкретный раздел для Совместное использование памяти между процессами .

Я не могу понять здесь второй пункт:

Большинство статических данных отображаются в процессе. Этот метод позволяет обмениваться данными между процессами, а также позволяет выгружать их при необходимости. Примеры статических данных включают: код Dalvik (помещая его в предварительно связанный файл .odex для прямого сопоставления), ресурсы приложения (создавая таблицу ресурсов как структуру, которую можно отображать, и выравнивая zip-записи APK) и традиционные элементы проекта, такие как собственный код в .so файлах

Я понимаю, что такое mmapping. В этом пункте упоминаются следующие вещи: код dalvik для этого приложения, ресурсы приложения: почему они будут использоваться другими приложениями?

Может кто-нибудь привести пример сценария, в котором это утверждение имеет смысл?

1 Ответ

1 голос
/ 28 марта 2019

Код Dalvik - это код вашего приложения.Этот код статичен и никогда не меняется.Кроме того, ресурсы могут быть разделены между процессами, поскольку они также являются статическими и никогда не изменяются.Одно приложение может иметь разные компоненты, работающие в разных процессах ОС.В этом случае совместное использование всего кода приложения и ресурсов экономит реальную память.

...