Вопрос

Я работаю над разработкой системы медицинских карт, используя OpenMRS в качестве бэкэнда для Android. OpenMRS зависит от некоторых серьезного тяжеловесного библиотек, включая Hibernate и Spring.

«Dexing» Весь приложение OpenMRS генерирует файл, который слишком большой даже для формата файла Android Class.Dex (этот предел размера уже хорошо документирован). Чтобы обойти это, в настоящее время я работаю над созданием нескольких файлов DEX из зависимостей и загружаю их во время выполнения, используя Android ClassLoader.

Из -за того, как мобильная версия сервера будет использоваться на практике, фактические требования к обработке будут очень низкими, несмотря на огромные зависимости. Я не пытаюсь запустить корпоративный сервер на своем телефоне здесь.

Прежде чем я проведу несколько недель больше времени, пытаясь разработать это, я просто хотел спросить сообщество разработчиков: это стратегия просто мечтой о трубе? Если я загружаю все эти библиотеки, будет ли весь бинарник загружен в оперативную память и просто сломает систему? Есть ли хороший способ оптимизировать такое приложение? Есть ли какая -то очевидная проблема или решение, которое мне здесь не хватает?

Это было полезно?

Решение

Короткий ответ: не так.

Длинный ответ заключается в том, что большинство устройств по-прежнему выделяют только относительно небольшое количество (от 40 до 128 мег оперативной памяти) по каждой куче. Вам действительно нужно подумать о архивировании приложения, чтобы большая часть логики, и, следовательно, библиотеки и тяжеловестный код все еще находились на сервере, а мобильное приложение просто читает легкие данные (JSON?) С сервера для отображения. Устройства действительно должны использовать только нативные элементы, такие как данные о местоположении, и предоставлять интерфейс пользователю, который соответствует остальной части Android Universe. Кроме того, вы должны искать способы убрать как можно больше логики в нативном приложении. Если по какой -либо другой причине, кроме как держать его более безопасным. Android -приложения для обратной инженерии тривиальный И чем больше вы сохраняете на стороне сервера, тем более безопасным вы будете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top