模型的生命周期

1.获取模型的方法

    获取一个模型,可以使用模型路径通过World对象获取。

//获取模型的示例,其中World是单态的
Thing thing = World.getInstance().getThing("HelloWorld");

2.模型的自动重新加载

    如果模型是保存在文件系统中的,即通过FileThingManager管理的模型,那么在加载后都会进入到文件修改监控中,当发现文件的日期被外部程序修改后,下次通过World获取时会自动加载最新的模型。

3.模型缓存和垃圾回收

    模型加载后会存放到一个Map<String, SoftReference<Thing>> 缓存中,当内存紧张时JVM会自动回收缓存中的模型。

    因此不要在模型中存放持久的变量等,因为模型可能随时被垃圾回收。

4.保存和移除模型

    当模型修改后,可以调用它的save()或saveAs方法来保存, 使用remove()方法可以移除该模型。

//保存
thing.save();

//保存到其它事物管理器和新的路径下
thing.saveAs("_local", "xworker.test.TestHelloWorld");

//移除模型
thing.remove();

//可以在save前重新设置编码格式
thing.getMetadata().setCoderType(XmlThingCoder.TYPE);

 

 

 

Copyright ©  2007-2014 XWorker.org  版权所有

沪ICP备08000575号