我从IntentService派生了一个类,我想知道是否有必要通过父类(superclass)onCreate和onDestroy调用在我的实现中覆盖这些方法时的方法,就像在Activity中覆盖这些方法时发生的那样。如果有必要,这些调用是否需要是我们在覆盖方法中做的第一件事?在Activity文档中,他们对此非常清楚,而在Service或IntentService文档中,我找不到任何具体内容。 最佳答案 I'mwonderingifitisnecessarytocallthroughthesuperclassonCreateand
每当我的Activity被终止时,我都会尝试执行一些代码,但是当它只是简单地移到后台时不会(所以只在onPause()中调用它不是解决方案),并且我了解不能保证调用onDestory()。我一直在搜索,但没有找到一种方法来做到这一点。我该如何着手解决这个问题?可能吗? 最佳答案 没有。你永远不能保证在应用程序结束时被调用,因为它总是可以异常终止-它可能会崩溃,电池可能会被拔出等等。onDestroy是最接近的。但是您永远不应该编写需要在终止时进行清理的程序。 关于android-保证替代
我正在尝试保存一个int变量intdiff但我不确定应该将其保存在onPause()或onDestroy()方法中。此变量在fragment中使用,静态附加到MainActivity。代码是基本的:@OverridepublicvoidonDestroy(){super.onDestroy();SharedPreferencessp=this.getActivity().getSharedPreferences("myPrefsName",Context.MODE_PRIVATE);SharedPreferences.Editoreditor=sp.edit();editor.putI
我开发了一个小应用程序,它使用几个不同的类来允许用户添加、删除和查看某些数据。我使用arrayList来存储条目,它有自己的类,该类具有链接到数组的方法,因此我可以从我的所有类访问数组。我想介绍上面的方法来优化我的代码,我想知道我是否可以将它们放在一个类中,希望是我有我的数组的同一个应用程序类,只需定义它们将被使用的地方,这将节省我不得不在几个类中编写相同的代码,这可能吗?谢谢 最佳答案 Android调用onPause、onResume、onDestroy的例子。OnPause()OnPause()在用户收到电话或短信等事件时被调
目前,我有服务,它在单独的进程中运行。这是主要Activity中的代码。@OverridepublicvoidonStart(){super.onStart();//Startautocompleteservice.autoCompleteServiceIntent=newIntent(AutoCompleteService.class.getName());startService(autoCompleteServiceIntent);bindService(autoCompleteServiceIntent,serviceConnection,0);}@Overridepublic
我有一个Activity,里面有很多fragment事务,有时我的用户需要打开首选项Activity几秒钟。我这样做:IntentpreferencesIntent=newIntent(this,PreferencesView.class);this.startActivity(preferencesIntent);每次执行此操作时,都会调用主Activity的onDestroy()。因此,当我的用户回来时,主要Activity处于初始阶段。但我希望主要Activity像他们离开时一样。我知道我应该保存/恢复我的数据,然后让Activity重新创建自己。但这会非常复杂,而且我的用户大部
当我启动我的android-activity时,首先调用onCreate(),然后调用onResume()。然后当我按下后退按钮返回主屏幕并再次点击应用程序图标时,首先调用onCreate(),然后调用onResume()然后是onDestroy()。那时我的应用程序仍然处于Activity状态,但是执行某些操作会导致错误,因为onDestroy()将一些成员设置为null。这是为什么?更新:当我在按下返回键后等待30秒时,一切正常。除了将一些变量设置为null和.interrupt()后台线程外,我没有在onDestroy中做任何繁重的事情。 最佳答案
我在我的Activity中调用了一个SQLite数据库方法。我给出了以下代码finalDatabaseHandlerdb=newDatabaseHandler(Lists.this);在我的Activity中创建数据库实例。我没有在OnCreate()中给出上面的代码。我想在调用OnDestroy方法时使上下文为空。我做了以下事情:@OverrideprotectedvoidonDestroy(){//TODOAuto-generatedmethodstubsuper.onDestroy();System.gc();details.clear();DatabaseHandlerdb=n
我有一个包含100多个fragment的大型项目。它们几乎都遵循我将要描述的模式,我的问题也会随之而来。publicclassMyFragmentextendsFragmentimplementsView.OnClickListener{publicvoidonDestroy(...){}publicvoidonCreateView(...){...root.findViewById(R.id.some_button).setOnClickListener(this);returnroot;}publicvoidonClick(Viewv){...}}我是否需要在onDestroy中从
我有一个Activity,其中我使用asyctask的子类与后端服务器进行服务器同步。鉴于这是一项网络任务,可能需要几秒钟。我害怕发生以下情况。Activity开始,每当asynctask应该开始运行时,它就会这样做。onPrexecute()被调用、执行并结束。然而,调用doInBackground()并完成后,就在执行该方法时,用户按下主页按钮并从最近的应用程序中滑动应用程序。(这当然会导致应用程序终止,并且所有onDestroy方法都会调用ActivityActivity..(如果我在这方面有误,请纠正我))。在我的onPostExecute()方法中,我将数据插入数据库并更新V