我想知道服务是否因特定Activity而终止,因此我在调用stopServivce(service)时传递了该Activity的字符串。代码如下:Intentservice=newIntent(Activity.this,service.class);service.putExtra("terminate","activityterminatedservice");stopService(service);但我似乎可以在onDestroy()方法中使用getIntent().getExtras().getString("terminate);访问此变量。[编辑]我找到了绕过这个障碍的方
覆盖Activity的ondestroy时,我应该在super.onDestroy()之前或之后放置命令吗?protectedvoidonDestroy(){//option1:callbackbeforeor...super.onDestroy();//option2:callbackaftersuper.onDestroy();}(现在我担心:如果super.onDestroy太快,它永远不会到达选项2。) 最佳答案 任何可能与使用Activity资源相关的事情都应该在调用super.onDestroy()之前进行。它之后的代码
其实我知道我问的是Android的简单和基本概念。但是我对这些finish()和onDestroy()方法有点困惑。这是否会终止Activity并释放与这些Activity相关的资源?我尝试了一个只包含一个Activity的简单应用程序。我认为这个概念就像当应用程序运行时,Activity就会启动。当我们点击后退按钮时,它就会完成。我在每个生命周期方法中给出了一些toast消息以了解内存使用情况。当我单击后退按钮时,它会执行onPause()、onStop()和onDestroy()。我以为这个Activity结束了。但是当我再次重新启动该应用程序时,它占用的内存比上次更多。每次我从e
我创建了一个应用程序,它在执行Service.onStartCommand()方法时显示通知,在调用Service.onDestroy()时隐藏通知。它适用于对startService()和stopService()的正常调用。服务代码:@OverridepublicIBinderonBind(Intentintent){returnnull;}@OverridepublicvoidonCreate(){super.onCreate();nm=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);}@Overridepu
例如,如果我需要保留一些用户可以在我的应用程序中编辑的非常重要的数据,我是否需要在每次用户更改此类数据时保存它们,或者我是否可以将其保存在onPause()中?,onStop()或onDestroy()方法?可以以某种方式应用程序在没有调用任何这些方法的情况下结束吗?(例如当电池耗尽时) 最佳答案 这在onDestroy()中肯定做不到。根据documentation:Therearesituationswherethesystemwillsimplykilltheactivity'shostingprocesswithoutcal
如果我重写我的主ActivityonDestroy()方法以便在屏幕旋转时回收位图,我应该在我的Bitmap.recycle()之前或之后调用super.onDestroy()吗?重要吗? 最佳答案 顺序无关紧要。onDestroy()的基本实现除了让你调用它之外什么都不做。一些派生类(例如ListActivity)可能会做一些事情,但只要您在调用派生类后不尝试使用它们的任何状态就可以了。 关于Android:onDestroy()方法中的语句顺序,我们在StackOverflow上找到
我曾尝试研究具体何时调用Activity的onDestroy方法,但我读到了一些令人困惑和相互矛盾的信息。一般来说,我的问题是:在什么情况下onDestroy方法实际上是在Activity上调用的?更具体地说,如果我有两个Activity,ActivityA和ActivityB,如果ActivityA正在运行并且我创建了一个Intent并切换到ActivityB,ActivityA只是停止了,还是被销毁了? 最佳答案 如官方所述documentation:onDestroy()在您的Activity被销毁之前您收到的最后一个电话。这
我在想,什么时候适合将我们的应用程序设置保存到SharedPreferences。我们应该在onStop或onDestroy期间执行此操作吗?我意识到这两种方法各有利弊。停止如果用户的Intent不是退出应用程序,将应用程序设置保存到SharedPreferences似乎是多余的。他只是按主页(调用onStop)->长按主页->通过再次选择应用程序重新启动应用程序onDestroy用户可以通过按主页(调用onStop)终止应用程序->长按主页->向左滑动应用程序杀死它。如果用户通过这种方式退出应用程序,我意识到onDestroy没有被调用,尽管该应用程序被杀死。因此,不会保存应用程序设
我正在编写一个任务列表并拥有Project对象,它包含所有任务(和元数据)。我使用操作日志,所以当任务发生变化时,我不会立即将其保存到数据库中,只是将其保存在内存中以在Activity完成时转储到数据库中。Activity的onDestroy方法是最好的地方:如果没有调用onRetainNonConfigurationInstance方法,我将启动服务来保存项目(一个实例存储在应用程序中)。保存是昂贵的:在数据库项目中有修订,所以我保存新数据,更改当前修订并删除以前修订的数据。所以我不怕应用程序突然停止。但是,根据todocumentation我必须不要指望调用此方法作为保存数据的地方
假设我们有一个具有默认行为的默认空Activity,使用默认Intent标志启动。用户按下设备上的后退按钮。Activity消失了……但实际上是如何消失的?按下后退按钮的行为是否与finish()相同?Activity是否立即销毁(调用了onDestroy)?Activity是否保证会被销毁,但不是立即销毁?Activity是否有可能不被销毁并且在将来启动此Activity时会重用此实例?(所以只有onPause和onStop->onStart和onResume被调用了?)我正在寻找一个可靠的答案,所以如果你不能完全确定这里发生了什么,请不要回答。 最佳答案