将java服务器移植到Android

Nic*_*ick 6 java android hibernate medical dex

我正在开发一个使用OpenMRS作为Android后端的医疗记录系统.OpenMRS依赖于一些严重的重量级库,包括Hibernate和Spring.

"Dexing"整个OpenMRS应用程序生成的文件对于Android classes.dex文件格式来说太大了(这个大小限制已经很好地记录了).为了解决这个问题,我目前正致力于从依赖项创建多个dex文件,并在运行时使用Android的dex类加载器加载它们.

由于服务器的移动版本将在实践中使用的方式,尽管存在巨大的依赖性,但实际处理需求将非常低.我不打算在手机上运行企业服务器.

在我花费数周的时间来设计这个之前,我只是想问开发者社区:这个策略只是一个梦想吗?如果我加载所有这些库,整个二进制文件是否会加载到RAM中并且只是破坏系统?有没有一种优化这种应用的好方法?我在这里缺少一些明显的问题或解决方案吗?

Mat*_*ttC 1

简短的回答是:不要。

长的答案是,大多数设备仍然只为每个堆分配相对少量的内存(40-128 兆 RAM 之间)。您确实需要考虑构建应用程序,以便大量逻辑以及库和重量级代码仍然驻留在服务器上,而移动应用程序只是从服务器读取轻量级数据(JSON?)进行显示。设备实际上应该只利用本地项目(例如位置数据),并为用户提供与 Android 世界其他部分一致的界面。除此之外,您应该寻找方法将尽可能多的逻辑保留在本机应用程序之外。如果没有其他原因,只是为了保持更安全。对 Android 应用程序进行逆向工程很简单,在服务器端保存的越多,就越安全。