私はAndroidのバックエンドとしてOpenMRSを使用して医療記録システムの開発に取り組んでいます。OpenMRSは、HibernateやSpringなどのいくつかの非常に重いライブラリに依存しています。
OpenMRSアプリケーション全体を「デキシング」すると、Androidのclasses.dexファイル形式でも大きすぎるファイルが生成されます(このサイズ制限はすでに十分に文書化されています)。これを回避するために、私は現在、依存関係から複数のdexファイルを作成し、Androidのdexクラスローダーを使用して実行時にそれらをロードする作業を行っています。
サーバーのモバイルバージョンが実際に使用される方法のため、実際の処理要求は、大きな依存関係にもかかわらず非常に低くなります。ここでは、自分の電話でエンタープライズサーバーを実行しようとはしていません。
これを設計するために何週間も時間を費やす前に、開発者コミュニティに質問したかっただけです。この戦略は単なる夢のようなものですか?これらすべてのライブラリをロードすると、バイナリ全体がRAMにロードされ、システムが壊れますか?そのようなアプリケーションを最適化する良い方法はありますか?私がここで見逃している明らかな問題や解決策はありますか?