问题标签 [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 回答
1681 浏览

android - Android - 判断父活动是否已被破坏

所以,我写了一个应用程序,它有一个主活动 (A),以及其他各种做某事的子活动,将工作报告给主,然后完成。

我遇到的是,如果用户在屏幕 B 或 C 离开我的应用程序,当他们稍后回来并且 dalvik 已经破坏了我的活动以获得更多 RAM ......应用程序从 B 或 C 开始,并读取保存的意图中的所有初始化内容,并继续进行,就好像什么都没发生一样。直到他们回到活动 A,我们从意想不到的事情中获得了力量。

我一直在处理压倒一切onStop()和调用完成,但我认为这有点焦土,我想让他们离开那个活动然后回来。但我也想检测底层的主要活动是否已被破坏,然后破坏我的整个活动堆栈。

通过阅读,我得到了一个onDestroy()并不总是被调用的想法,所以我将一些逻辑插入到活动 A 的 onDestroy 中是不可靠的......有什么想法吗?

0 投票
3 回答
1349 浏览

java - 退出时的返回按钮创建强制关闭错误

我试图避免使用 onDestroy 并希望尽可能简单,但是当我退出程序时,出现强制关闭错误。不知道为什么。这是应用程序主要部分的代码。有什么建议么?

主要应用代码

日志猫

0 投票
1 回答
3717 浏览

mfc - 在哪里调用 MFC 对话框的 DestroyWindow()?

我目前正在处理 MFC 应用程序中的对话框,而且我 - 诚然 - 对 MFC 很陌生。

假设我有使用类(也派生自)的类(派生自A)。因此,调用 的方法。CDialogBCDialogA::OnInitDialog()create(...)B

我现在看到 B 类的析构函数包含

这个可以吗?B在我的理解中,调用'sDestroyWindow()方法会更好A::OnDestroy()。是对的吗?

谢谢你的帮助!
奥利弗

0 投票
3 回答
338 浏览

android - Android:当用户按下主页而不是屏幕旋转时如何断开连接?

我正在开发一个为多种目的维护连接的应用程序,例如发布接收位置更新。根据 android 的做事方式和其他答案的建议,我没有覆盖在屏幕旋转时破坏和重新创建应用程序的默认 android 行为,并且在这方面做得很好。

我保持与 onRetainNonConfigurationInstance 方法的连接。问题是我想在用户按下 Home 时关闭连接,应用程序被最小化或由于其他原因失去焦点但不是在屏幕旋转时 - 因此我不能在 onPause、onStop 或 OnDestroy 中执行此操作一些检查,因为它们在配置更改时被一个接一个地调用。就像现在一样,我使用 isFinishing() 来检查应用程序是否正在关闭 - 但是用户按下 Home 的情况并不需要 isFinishing() == true (这是有道理的)。

我想到的一个解决方案是检查应用程序是否在处理连接更新的线程中具有焦点,如果一段时间没有焦点就关闭它 - 但我觉得必须有一些更好的方法来做到这一点?

在此先感谢您的时间。

(在阅读发布的答案后,编辑以清除有关活动生命周期和 onRetainNonConfigurationInstance 的内容)

0 投票
1 回答
686 浏览

android - Android-单击Listview中的项目时销毁媒体播放器服务

我目前有一个listview,当您单击一个项目时,它会运行一个service带有mediaplayer. 如果我单击正在运行listviewservice中的另一个项目应该停止并运行新的service. 处理这个问题的最佳方法是什么?会用onDestroy吗?非常感谢。

0 投票
3 回答
5901 浏览

android - 如何区分是否调用 onDestroy() 作为配置更改序列的一部分?

在我的活动中,需要在 onDestroy() 中销毁一些外部事物(服务)。但是当配置更改发生(例如键盘翻转)时,我不希望这样做,因为它将立即恢复。

所以问题是:如何区分 onDestroy() 是由说返回键按下还是配置更改过程的一部分引起的?

在@CommonsWare 的回答之后,这将非常简单)类似于:

0 投票
1 回答
4908 浏览

android - Android-在活动中恢复服务并在销毁时销毁它们

我目前有一个Activtythat 在创建时开始并与service. 这service有一个mediaplayer. 我想做的是,如果活动resumed继续service播放,等等。当activity被销毁时,它应该stopservice. 到目前为止,我可以让服务在重新激活活动时继续播放,并且在创建新活动时停止服务,但不能同时使用。有什么建议或想法吗?谢谢。下面的代码:

活动类:

服务等级:

0 投票
1 回答
86 浏览

android - 在 onDestroy 中关闭 WordDBAdapter

我需要在 Android 的 onDestroy 方法中关闭我的 WordDBAdapter 对象。其中一个比另一个更好吗?

- - - 或者 - - -

谢谢!

0 投票
3 回答
23753 浏览

android - 每次屏幕打开时都会调用 onDestroy

每次从屏幕关闭状态返回时,我的应用程序都会被杀死。我获取了我的应用程序所做的所有信息,但我不知道它为什么调用 onDestroy。这是我第一次在我的应用程序中看到这种行为。

我的主要活动扩展了 tabActivity,因为它包含一个 tabhost。我读过它必须扩展它,否则它将是 FC。我不确定我的问题是否与此有关?!哦,它实现了观察者,但这应该没问题。

以下是日志:

疯狂的是,它在屏幕再次亮起后调用 onDestroy 的次数最多,有时在屏幕熄灭之前它有足够的时间来执行此操作。但是在它再次继续之后,它再次执行相同的操作......

我希望有人对我有提示或有关如何解决此问题的任何信息。

我不确定这是否重要,但我将 android 2.1-update1 sdk 用于我的应用程序。


编辑:

该应用程序在真正的 Android 设备上进行了测试。

这是一些基本代码,删除了所有不必要的行和信息:


编辑2:

好的,我在没有初始化任何东西的情况下测试了我的应用程序,然后只扩展了活动,或者没有实现观察者,但是我的更改没有效果。每次我将手机设置为睡眠状态,然后将其唤醒,onDestroy()就会被呼叫?!


编辑3:

好吧,我发现了一些有趣的事情。

首先这是我的 AndroidManifest.xml

删除 后screenOrientation="landscape",每次唤醒设备时,应用程序都不会被销毁。我尝试了超过 10 次,但没有再打电话给onDestroy()

所以我认为我必须在代码中设置它?!任何提示或代码片段?

0 投票
3 回答
8576 浏览

android - Android服务onCreate被多次调用而不调用onDestroy

在我的应用程序中,我使用服务与我们的服务器进行通信。该服务产生多个消息队列线程来处理具有不同优先级的任务。

这个模型已经使用了大约一年,没有大问题。但是,最近,我发现有时onCreate我的服务类被多次调用。onDestroy在两次调用之间永远不会被onCreate调用。因此,我没有机会杀死现有的线程。一旦发生这种行为,服务内部就会有重复的线程。

我唯一改变的是运行服务,因为前台服务是用户登录应用程序。我想知道前台服务是否会导致问题。

有任何想法吗?