问题标签 [ondestroy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1957 浏览

android - Android:onDestroy() 方法中的语句顺序

如果我覆盖我的主 Activity 的 onDestroy() 方法以便在屏幕旋转时回收位图,我应该在 myBitmap.recycle() 之前还是之后调用 super.onDestroy()?有关系吗?

0 投票
3 回答
78092 浏览

android - Activity OnDestroy 从未调用过?

我在我的 ListActivity 中使用以下代码

有人指导我为什么onDestroy在我的代码中没有调用方法?

0 投票
1 回答
5029 浏览

android - Android - 是 onDestroy 应该销毁活动,它的变量并释放内存

我的代码中有一个错误,让我觉得我没有完全理解 Android 生命周期。是的,我已经阅读了所有文档并查看了图表,但它们似乎只讨论何时保存数据,何时活动可能会失去焦点或被杀死。但是,我的问题是,如果我不需要保存状态,变量及其存储的值会怎样?我预计它们会被销毁,但我的代码中的一个错误似乎表明并非如此。

就我而言,这就是发生的事情。我有一个启动自定义视图的活动(没有 xml,我只是在自定义视图的屏幕上绘制位图)。我目前在我的活动中拥有的唯一变量只是我的视图变量:GameView gameView;

现在在我看来,我声明了几个位图、简单的 int 和 float 变量来处理绘图和触摸事件,并且我有一个包含小位图、每个对象的坐标和其他一些东西的对象数组。我的这个对象的类中的一个变量是一个静态变量,它表示它们是多少个对象的当前计数。我是这样做的,所以对象的实例化会导致它跟踪他们的对象是怎样的,而不是在对象的类之外跟踪它。

我希望静态变量在所有对象中保持相同的值,但我也希望一旦为该 Activity 调用 onDestroyed,该变量将与该 Activity 视图的所有其他变量和对象一起被销毁。然而,这似乎并没有发生。当此 Activity 再次启动时,此静态变量仍包含上次运行时的先前值 - 即使调用了 onDestroyed。

现在我的问题不是如何解决这个问题(我可以编写不同的代码来修复这个错误),但我想了解为什么这个静态变量会发生这种情况,因为它对整个应用程序不是全局的,它只存在于内部那个Activity的观点?此外,这让我想知道该视图中的其余变量 - 它们是否被破坏并且它们的内存被释放,或者至少它们的值在下次调用活动时不再可用,或者我是否需要自己执行此操作 - 即使我不需要保存任何这些状态数据?

感谢您对此的任何见解。

0 投票
1 回答
178 浏览

ruby-on-rails-3 - Ruby On Rails:当与另一个关联的表条目被破坏时要求确认

我需要一些帮助来解决以下问题:

我有一个与自身自关联的组表,因此每个组(可选)以分层方式链接到另一个组。我想编写一些代码,在销毁组条目之前以某种方式检查它是否有任何子组,并要求用户确认,或者他们是否也希望删除子组。

我看过回调,但我不知道如何在视图中将确认请求发送给最终用户,然后将响应返回给模型的回调。

谢谢

0 投票
1 回答
4265 浏览

android - 程序退出时调用方法 - onDestroy 不可靠

当程序通过点击后退按钮退出时,我想执行一些功能。这现在由 onDestroy() 完成,它适用于除一种情况之外的所有情况。在某些情况下退出程序时从另一个活动返回时,不会调用 onDestroy。

我知道理论上 onDestroy 应该只在 Android 由于内存不足而关闭应用程序时调用,但对我来说,onDestroy 始终有效,而且只有在非常特殊的情况下才有效。

使用 onPause 或 onStop 不起作用,因为我只想在程序退出时调用该函数,而不是在调用另一个活动时调用该函数。

那么捕捉后退按钮单击并在那里调用函数的最后一种方法是什么?或者有没有其他解决方案?

0 投票
4 回答
11427 浏览

android - 如何将参数从活动传递给服务......当用户停止服务时

我有一个带有复选框的活动:如果未选中复选框,则停止服务。这是我的活动代码片段:

当我停止服务时,我传递一个参数“user_stop”来说明用户停止它而不是系统(内存不足)的服务。

现在我必须在我的服务的 void onDestroy 中读取变量“user_stop”:

但它不起作用!我不能在 onDestroy 中使用 getIntent()!

有什么建议吗?

谢谢

西蒙娜

0 投票
3 回答
14736 浏览

android - 如何自动重启被杀死的服务?

当一个服务被杀死时,如何自动重启它?

有时甚至没有打电话onDestroy()

0 投票
1 回答
1454 浏览

android - 如何区分onPause后是否会调用onDestroy

有没有办法区分是否onDestroy()会被调用onPause()?在可能的活动中,当 Activity 失去焦点和 Activity 下降时,我需要执行不同的操作,但即使在 Activity 下降时,我也想在活动失去焦点时以及何时下降并且将要执行不同的操作onPause()之前调用叫。onDestroy()onPause()onDestroy()

0 投票
1 回答
1926 浏览

delphi - Delphi 框架销毁/隐藏

你好

我有一个具有多个框架的应用程序作为表单。

当用户从某个框架移动时,我有需要删除的临时文件,而我目前在他们按 OK 或 CANCEL 时删除了该文件。

如果他们只是关闭应用程序,我也想删除临时文件,但无法确定框架何时被销毁。

问候,彼得

0 投票
2 回答
28274 浏览

android - onDestroy() 究竟破坏了什么?

我一直被这个“特性”困扰:当我使用返回按钮离开我的应用程序时,我可以告诉 onDestroy() 被调用,但是下次我运行我的应用程序时,Activity 类的所有静态成员仍然保留他们的价值观。请看下面的代码:

}

上面的代码在 mValue 中显示了剩余的值,它会在会话结束时递增,这样我就可以确定调用了 onDestroy()。

我在这个论坛上找到了一个有用的答案,我明白在上面的代码中 mValue 是一个类成员,而不是一个实例成员。但是,在这种特殊情况下,我只有一个 HelloAndroid 活动,所以当他死时,一切都被清理干净,下次我回来时,一切都重新开始,这不是真的吗?(或者,系统中是否还有其他一些神秘的东西在 onDestroy() 之后仍然保留它,这样它就不会死???)

(上面只是一个变量,如果它是一堆对象引用怎么办?每一块都是一个单独的可重新收集的内存。GC是否有可能收集其中一些但不是全部或全部?这真的让我很烦恼。 )