Articles of ondestroy

如何自动重新启动一个杀死的服务?

当一个服务已经死亡,如何自动重新启动? 有时甚至没有调用onDestroy()

如果我们在Android应用程序的每个活动中重写OnDestroy()方法,可以吗?

如果我们在Android应用程序的每个活动中重写OnDestroy()方法,可以吗? @Override public void onDestroy() { super.onDestroy(); } 只要调用onDestroy()方法中的super.onDestroy() ,它会清理内存资源吗?

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

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

Android:当我从最近的应用程序buttonclosures应用程序时,不会调用OnDestroy

当我们按这个button 我们看到我们没有closures的应用程序,就像这样 但是当我们想从这个屏幕(下图)closures一个应用程序时,方法onDestroy()不会被调用,但是应用程序是closures的。 我需要在应用程序以这种方式closures时调用onDestroy()。 我怎样才能做到这一点?

按下主页button时,活力正在被破坏。

在我的应用程序中,当我按主页button的活动将onDestroy() 。 它假设只调用onPause()方法吧? 为什么这样呢?

将数据保存在活动的onDestroy方法中

我正在写一个任务列表,并拥有项目对象,其中包含所有的任务(和元数据)。 我使用动作日志,所以当任务更改时,我不会立即将其保存到数据库,只要将其保存在内存中,以便在活动完成时将数据转储到数据库中。 Activity的onDestroy方法是最好的地方:如果没有onRetainNonConfigurationInstance方法被调用,我启动服务来保存项目(一个人的实例存储在应用程序中)。 节省昂贵:在DB项目有修改,所以我保存新的数据,改变当前的修订,并删除以前的修订的数据。 所以我不害怕突然的申请停止。 但是, 根据文档,我不得不do not count on this method being called as a place for saving data. 有没有其他地方保存我的数据?

Android:当Dalvik杀死这个活动时,不会调用Activity.onDestroy()

我很困惑Activity.onDestroy() 。 当我的Activity被销毁的时候,我需要释放一些资源,但是当我按下“Back”键时,onDestroy()被调用,但是当我的Activity被Dalvik杀死的时候,就不会。 我只是通过添加日志来testing它: Log.v("my_tag", "onDestroy() called"); 和onCreate()方法一样: Log.v("my_tag", "onCreate() called"); 然后我开始我的活动,我看到日志: onCreate() called 。 我按“返回”键,然后再次启动活动,然后我看到: onDestroy() called onCreate() called 然后我按“主页”键,再次进入我的活动,日志不会改变。 好的在这里 然后我再次按下“Home”键,启动一些非常“重”的应用程序。 在日志是没有关于onDestroy(),但是当我再次启动我的活动,我看到日志: onCreate() called ! 所以,onDestroy()没有被调用,但我的活动被杀害。 怎么了?

Android – onDestroy应该破坏活动,它的variables和释放内存

我在我的代码中有一个错误,让我觉得我不完全理解Android生命周期。 是的,我已经阅读了所有文档并查看了这些图表,但他们似乎只是谈论何时保存数据,何时该活动可能失去焦点或被杀害。 但是,我的问题是,如果我不需要保存状态,variables及其存储值会发生什么变化? 我期望他们被销毁,但我的代码中的错误似乎表明,否则。 在我的情况下,这是发生了什么事。 我有一个活动,启动自定义视图(没有XML,我只是在我的自定义视图中的屏幕上绘制位图)。 我目前在我的活动中唯一的variables只是我的观点的一个variables:GameView gameView; 现在在我看来,我声明了几个位图,简单的int和floatvariables来处理绘图和触摸事件,并且我有一个包含小的位图的对象数组,每个对象的坐标和一些其他的东西。 我的这个对象的类中的一个variables是一个静态variables,它表示当前有多less个对象。 我是这样做的,所以对象的实例化使得它跟踪了man如何对象,而不是跟踪对象的类。 我期望静态variables在所有对象中保持相同的值,但是我也希望一旦为该Activity调用了onDestroyed,该variables就会与该Activity的视图中的所有其他variables和对象一起被销毁。 但是,这似乎并没有发生。 当这个Activity再次启动时,即使调用了onDestroyed,这个静态variables仍然包含上一次运行的值。 现在我的问题是不是如何解决这个问题(我可以编写不同的代码来修复这个bug),但我想了解为什么会发生这种静态variables,因为它不是全局的整个应用程序,它只存在于那个活动的观点? 另外,这让我想知道这个视图中的其他variables – 是在下次被调用的时候被销毁并释放内存,或者至less它们的值不再可用,或者我需要自己做这个 – 尽pipe我不需要保存任何这种状态数据? 感谢您对此的任何洞察。

android有没有视图callback,当它被销毁?

我有一个自定义视图组件。 我用它在片段或活动。 我想知道是否有一个callback时,它是从片段/活动中销毁?

Android Activity onDestroy()并不总是被调用,如果仅被调用的部分代码被执行

onDestroy()并不总是被调用。 如果调用,只有部分代码被执行。 而大部分时间在LogCat中我只能看到消息“gps state on destroy called first”。 这是为什么? protected void onDestroy(){ super.onDestroy(); Log.d("on destroy called", "gps state on destroy called first"); editor.putBoolean("gpsOn", false); Log.d("on destroy called", "gps state on destroy called second"); editor.commit(); Log.d("on destroy called", "gps state on destroy called third"); stopRouteTracking(); Log.d("on destroy called", "gps state on destroy called fourth"); }