Совместное использование памяти между процессами в Android с помощью сопоставления памяти

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

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

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

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

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


person Yash    schedule 28.03.2019    source источник
comment
Повторяющийся вопрос   -  person M D    schedule 28.03.2019
comment
@MD: Это не дубликат. Этот спрашивает конкретно о данных, передаваемых с помощью mmapping. Связанный вопрос задан о совместном использовании динамической RAM.   -  person Yash    schedule 29.03.2019


Ответы (1)


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

person David Wasser    schedule 28.03.2019