我查看了一下官方的文档,因为IModuleInfo的load方法只是加载模块,而不是创建模块的实例。如果你在其他地方使用ModuleLoader标签或者通过_info创建模块的实例了,模块也不能别完全卸载,而只是作为垃圾回收的对象。
但是,对于垃圾回收,有个问题。
1、垃圾的回收不可预知。(调用MemoryUtils.gc();方法并不一定会触发垃圾回收)
2、只有在请求内存的时候才会触发垃圾回收,而不是在删除对象引用时。
另外,对于你的代码,你可以确认一下,对于同一个module来说,你是否调用的是同一个类实例(上面你贴出的这些方法所在的类)的load和unload方法,且该类实例是否被其他对象长期持有?
在调用_info.unload();方法前,调用_info.release()方法将当前的引用释放到模块中。
总的来说,你一定要确保该对该模块实例的引用、对_info的引用确实已经都删除了,才能真正的完全卸载模块。 (样式、时间这些都可能导致你不能正常卸载模块,详细的请查看参考资料。)
Photoshop|
Dreamweaver|
SVG|
WebGL|
Visual Studio|
PowerDesigner|
Eclipse|
Git|
Apache Ant|
Atom|
Composer|
CodeSmith|
Flex|
Gradle|
Maven|
Sublime Text3|
SVN|
Tableau|
Vim|
Chrome开发者工具|
OpenGL|
Unity|
Direct3D|
用户登录
还没有账号?立即注册
用户注册
投稿取消
| 文章分类: |
|
还能输入300字
上传中....
Zoo你好