当前位置: 首页 > 知识库问答 >
问题:

应用程序不应该尝试从OutofMemory恢复?

濮丰
2023-03-14

正如SonarSource所说:

捕获Throwable或Error也将捕获OutOfMemoryError和InternalError,应用程序不应试图从中恢复。

现在,如果在一个事务中,我不应该尝试回滚它吗?或者我会在数据库中造成更糟糕的状态吗?是否在创建OutOfMemoryError时释放了资源,以便我可以再次使用内存?

共有1个答案

柯瀚海
2023-03-14

OutOfMemoryError恢复可能在一些最简单的情况下有效,但此错误通常发生在库代码中的某个地方,并传播到试图处理它的用户代码--而从OOME点到捕获异常点的任何中间对象都可能处于不一致的状态。因此,除非您100%确定可以撤消对try-block中可能已修改的任何对象的任何更改,否则最好不要开始尝试。

关于事务:任何正常的事务管理器如果在没有收到提交的情况下失去了与应用程序的连接,就会自动回滚任何事务,所以这不应该是您必须手动完成的事情。

 类似资料:
  • 当我运行应用程序时,它工作得很好,但是当我想调试一个变量值时,应用程序就崩溃了。下面是完整的调试日志。我不知道是什么错误来纠正它。你们能帮帮我吗?我读到了一些关于并且我禁用和启用了ADB集成,但没有帮助我。我试图清洁,重建和运行的项目再次和没有帮助我。每次我尝试开始调试时,应用程序都会崩溃。 提前谢谢!!

  • 当我单击“开始”按钮时,emulator不工作。我能做什么?请帮帮我!这是错误: 我能做什么?请帮帮我! 不可预期的顶级例外:ain.run运行时异常:C:\用户\维森\\Android\Probeta\app\build\中介\类\调试:文件未找到ain.java:246FileUcom.android.dx.command.dexer.文件(FileUain.main)ain.java:215

  • 希望有人能帮我找出,如果不是一个解决方案,至少是一个行为的解释。 问题: 在一些设备上,按下启动器图标会导致当前任务恢复,在其他设备上,会导致初始启动意图被激发(有效地重新启动应用程序)。为什么会这样? 细节: 当您按下“启动程序图标”时,应用程序会正常启动-也就是说,我假设,使用您的第一个和操作和类别。然而,情况并非总是如此: 在大多数设备上,如果您在应用程序已经运行后按下启动器图标,则会恢复该

  • 主要活动 碎片 这是一个简单对话框的代码。 这里有一个我从中学习的链接。如果我只需通过调用按钮创建对话框,它就可以完全正常工作。

  • 问题内容: 告诉我,我无法上传到AppEngine appcfg: 该应用程序不存在。 我只是AppEngine的开发人员,因此在进行测试时,我创建了一个新的AppEngine,我是所有者,但在新创建的AppEngine上仍然收到相同的消息。 问题答案: 我发现的解决方法是添加参数–: 当您从同一台计算机上的不同Google帐户上传AppEngine应用程序时,可能会发生这种情况。

  • 我正在尝试使用Vue和Axios的GET请求从我们的业务服务器获取一些数据。但是,我遇到了401未经授权的错误。当我使用内部号登录时,我能够使用RESTED获取这些数据。我已经看了这篇文章:如何使用axios发送Basic Auth,但没有解决方案对我有用。这是我发出get请求的代码: 我也尝试过不使用“标题”。这是错误消息: 希望有人有主意,因为我不知所措。