Articles of ondestroy

服务的onDestroy()方法没有被调用的情况?

我知道可能永远不会调用Service的onDestroy()方法,但有人可以告诉我何时可能出现这种情况? 我特别感兴趣的是服务是否可能被杀死,但它的VM会继续运行。 我问,因为我有一个服务在服务的onStartCommand()方法中注册ContentObservers并取消注册它们onDestroy()。 如果从未调用过服务的onDestroy()方法,因为整个VM(以及它创建的观察者)都被杀死了。 但是我想知道,如果没有onDestroy()被调用,服务是否可能“消失”,而它创建的观察者将会继续并继续接收更改。

ondestroy不总是被称为?

我在我的活动的onDestroy中放了一些缓存清理代码,但大部分时间代码都没有执行,除非我通过finish()明确地完成了活动。 编辑:只读完onDestroy只能使用finish()或者系统资源不足。 那么我需要在哪里放置缓存清理代码? 如果我将它放在onPause()并且用户返回到应用程序,则清除缓存。 我实际上是将重要的临时文件存储在缓存中,不应该在onPause删除。

onDestroy()或finish()实际上是否会杀死活动?

其实我知道我在询问Android的简单和基本概念。 但我对这些finish()和onDestroy()方法有点困惑。 这是否会破坏活动并释放与这些活动相关的资源? 我尝试了一个只包含一个活动的简单应用程序。 我认为这个概念就像应用程序运行时,活动将开始。 当我们点击后退按钮时,它将完成。 我在每个生命周期方法中给出了一些toast消息,以了解内存使用情况。 当我点击后退按钮时,它执行onPause() , onStop()和onDestroy() 。 我以为这个活动结束了。 但是当我再次重新启动应用程序时,它的内存比以前多了。 每当我从eclipse运行应用程序或从主屏幕重新启动应用程序时,都会发生这种情况。 为什么会这样? 我怎么能真正破坏应用程序/活动以释放内存? 我包括我的代码。 我只在课堂上给出一个吐司留言。 然后内存使用量也在增加。 每次运行应用程序时,分配的大小都会增加,如:3302744,3442384,3474552 public class myActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Toast.makeText(getBaseContext(),” allocated size = ” + Debug.getNativeHeapAllocatedSize(), 1).show(); } } 表现: 为什么每次都会增加内存?

我可以通过“高级任务杀手”检测我的服务何时被杀死

我的应用程序运行地理定位服务,用户可以通过toggleButton激活或停用。 要检查服务的状态,我在共享首选项中编写一个布尔值。 由于我的服务的onDestroy(),我听服务的开始和结束。 我的问题是:当用户使用“高级任务杀手”杀死服务时,我无法知道服务被杀死,onDestroy没有被调用! 我该怎么处理? 谢谢你的帮助。 弗洛朗

Android的Application :: onDestroy()是否相同?

嗨我正在使用Application :: onCreate来放置我的应用程序的初始化代码,但是当等待一段时间并启动其他应用程序时,我注意到Application类的实例再次被创建… 当Android正在关闭我的Application实例时如何全局检测?

如何自动重启已终止的服务?

服务被杀后,如何自动重启? 有时甚至没有调用onDestroy()

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

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

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

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

将数据保存在activity的onDestroy方法中

我正在编写一个任务列表并拥有Project对象,它包含所有任务(和元数据)。 我使用操作日志,因此当任务更改时我不会立即将其保存到数据库,只需将其保存在内存中以在活动结束时转储到数据库中。 Activity的onDestroy方法是最好的地方:如果没有调用onRetainNonConfigurationInstance方法,我启动服务来保存项目(一个实例存储在Application中)。 节省成本:在DB项目中有修改,所以我保存新数据,更改当前版本并删除以前版本的数据。 所以我不怕突发申请停止。 但是, 根据文档,我必须do not count on this method being called as a place for saving data. 有没有其他地方可以保存我的数据?

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

我对Activity.onDestroy()感到困惑。 当我的Activity被销毁时,我需要释放一些资源,但是当我按下“后退”键时,似乎调用了onDestroy(),但是当我的活动被Dalvik杀死时却没有。 我只是通过添加日志来测试它: Log.v(“my_tag”, “onDestroy() called”); 和onCreate()方法一样: Log.v(“my_tag”, “onCreate() called”); 然后我开始我的Activity,我在日志中看到: onCreate() called 。 我按“返回”键然后再次启动活动,然后我看到: onDestroy() called onCreate() called 然后我按“Home”键再次转到我的Activity,日志不会改变。 好的,这里。 然后我再次按下“Home”键并启动一些非常“重”的应用程序。 在日志中没有关于onDestroy(),但是当我再次启动我的Activity时,我在日志中看到: onCreate() called ! 因此,没有调用onDestroy(),但我的Activity被杀了。 怎么了?