2016-04-20 42 views
0

因此,我有一段时间与Swing应用程序一起工作的Java框架。这是其中一个更像是“我真的能做到这一点吗?”的学术活动之一吗?而不是我用过很多东西。基本上,它的工作原理是这样的:Android:启动时使用XML配置文件,有可能吗?

  1. 在启动时使用信息(包括程序包路径)读取XML配置文件。

  2. 扫描注释类的包,如Spring。注释类是传统MVC风格的资源(即模型,视图,控制器)。

  3. 存储对在单个全局存储类中匹配的类类型和方法的引用。

  4. 从中心类提供静态方法,它允许各种MVC组件通过反射相互通信,因此允许最大限度地划分应用程序组件,因为它们之间没有直接引用。

我真的很想用这个与Android,但我知道我将不得不做一些更改。我已经读过包扫描无法在Android上完成,但我已经找到了解决方法。我主要关心的是阅读XML配置文件并构建全局存储类。

在传统的Java应用程序中,这是在应用程序启动时完成的,数据保存在内存中直到应用程序关闭。下一次启动时,会再次读取配置,再次进行扫描等。然而,Android具有不同的生命周期,根据内存需求在不同的时间应用程序被终止/重新启动。

质询

  1. 如何在内存中的数据在Android内存模式工作时,一个应用程序是:a)把“休眠”,和b)杀害该系统以腾出空间?对于后一种情况,信息是以某种方式保存的?

  2. 基于上述问题,我将如何确保在应用程序的整个生命周期中正确地读取配置文件和存储设置?我相信答案是在Android应用程序类中,可能是通过将框架绑定到它的生命周期,但我正在寻找指导。

我的背景是纯粹的Java,我还是比较新的Android整体。

在此先感谢。

+1

简单地说1)操作系统处理它,并且你不能真正控制一部分应用程序何时被杀死。如果你想保存一些东西,然后使用持久存储2)我会说应用程序类是最初加载数据最安全的选择 –

回答

2

如何在内存中的数据在Android内存模式工作时,一个应用程序是:a)把“休眠”

我不知道什么是“应用程序处于睡眠状态”的意思,如该术语不适用于传统的Android开发。 设备进入睡眠模式;这对应用程序的生命周期没有直接的影响。

Android内存模型如何用于内存数据...b)被系统杀死以释放空间?

应用程序未被杀死。 Processes are terminated。与大多数主要操作系统上的进程模型一样,当进程终止时,其所有消耗的RAM都返回到系统。

对于后一种情况,是以某种方式保存信息吗?

只有当你自己保存它时,通过在某处保存数据。再次,这与其他主要操作系统使用的过程模型没有显着不同。 不同之处在于系统负责进程终止的时机。

我该如何确保在整个应用程序的生命周期中读取配置文件并正确设置存储?

这很难在摘要中回答。您的Application子类的onCreate()将在创建过程时被调用。欢迎您在那里进行一些初始化工作,牢记您在此花费的每一毫秒都是毫秒级,用户正在等待您的应用程序启动。另外请记住,ApplicationonCreate()将因过程启动的任何原因而被调用,包括与您的UI无关的事情(例如响应系统广播)。

相关问题