0

我有一个占用大量内存的小程序。如果用户打开带有小程序的网页的多个选项卡,他们会收到 OutOfMemoryException。这可以通过浏览器仅使用一个虚拟机实例这一事实来解释。有什么办法可以防止这种情况吗?

OutOfMemoryException 不能真正被捕获,因为它可以(几乎)在任何地方发生......

4

1 回答 1

1

我建议对小程序进行一些分析以查看可以减少的内容,假设使用小程序打开大量选项卡是标准用例。您将需要非常精简地运行小程序。

您可能还想更多地使用小程序生命周期方法。当小程序页面失去焦点时,我相信小程序的 stop() 方法会被调用。一旦applet 页面重新出现在视图中,就应该调用它的start()。您可以使用小程序流持久性在不同的选项卡之间共享您的运行数据,在 stop() 上将其保存并在 start() 上重新加载...不确定这是一个很好的解决方案,但它可能会工作。

除了“因为他们可以”之外,还有什么正当理由让用户拥有一堆标签,每个标签都在运行你的小程序?如果它只是一个遥远的测试用例,你可能只想做你能做的,然后记录问题。

祝你好运。

于 2009-08-22T21:43:33.530 回答