现象:当对程序进行多次事件操作的时候,或者多次调用canvas重绘的时候,会出现No more Handles异常,然后程序卡滞,电脑卡顿,关闭程序后,电脑恢复正常。
解决办法:
1.根据网上大部分的意见,关闭杀毒软件等等。但是我个人认为没有什么作用。
2.造成这种原因的主要原因还是由于内存泄露造成的,根据查阅资料发现,可能在安装了SWT/JFce插件的时候,Gc并不会对这一部分的资源进行合理回收,那么在设计的时候创建了多个对象,如果不人为进行销毁的话,很容易造成这种想象,例如:new Image过多,但是没有及时释放这个创建对象所占领的内存,当多次进行new Image的时候就会报错。因此主要的处理方法还是人为的image.dispose()等及时释放资源。
PS:上述个人经验,有不对的地方,希望大神们指出意见,并参与讨论。谢谢! |