草庐IT

android - 在 android 中的 Activity 上调用 finish() 的最佳实践?

我的大部分Activity都从服务器加载动态数据,当页面重新获得焦点时,我无论如何都会重新加载它。如果我只是要重新加载它们,将它们保留在身边似乎很浪费,所以我想在用户离开页面时调用它们的finish()。如果某些Activity您可以按后退按钮转到而其他Activity则不行,因为我已经对它们调用了finish(),所以我想知道是否只是对用户的所有Activity调用finish()是不好的做法导航远离?(我在每个Activity的底部都有一个导航栏,因此不需要后退按钮)。或者,更好的做法是不要在任何Activity中调用finish()并只是希望它们不会减慢手机速度并且操作系统会负责

java - Android: onPause() 是否保证在 finish() 之后被调用?

在任何地方都找不到可靠的答案。我有一个方法,其中调用finish(),然后调用onPause()。是否保证在调用finish()之后调用onPause()? 最佳答案 如果您在Activity生命周期的某个时刻调用finish(),Android通常会调用onPause(),除非您调用finish()在你的onCreate()中。publicclassMainActivityextendsActionBarActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState

android - finish() 和 Activity 生命周期

我正在为一个类(class)学习Android编程,我有一个关于finish()如何适应Activity生命周期的快速问题。当您调用finish()时,会启动什么生命周期回调?我假设它是onPause(),然后是onStop()和onDestroy()。这是正确的吗?真的,我只是想确保它不会直接跳转到onDestroy()。 最佳答案 Really,Ijustwanttomakesurethatitdoesn'tjumpstraighttoonDestroy().???不!但是当调用finish()导致Activity生命周期中断时

android - Activity.finish() 已调用但 Activity 仍加载到内存中

当我在调试器上运行我的应用程序时,我得到了主线程和3个绑定(bind)器线程。在单击按钮时,我调用了Activity.finish(),这看起来像是在UI关闭并返回主屏幕时结束了Activity。但是,在调试器中,它仍然将主线程和3个绑定(bind)线程显示为“(正在运行)”。我很困惑为什么会这样。更重要的是,当我退出应用程序后再次运行它时,它会导致我的应用程序调用Activity.onResume()。我目前在Activity中重写了这些方法,但我在每个方法中调用了适当的super函数:onDestroy()onPause()onResume()onSaveInstanceState

android - 从静态方法调用 finish()

我正在使用FacebookAndroidSDK,并希望在用户登录并获取用户对象后关闭我的Activity。实际上,我存储了它的一部分,但无论如何我都想关闭该Activity。//makerequesttothe/meAPIRequest.executeMeRequestAsync(session,newRequest.GraphUserCallback(){//callbackafterGraphAPIresponsewithuserobject@OverridepublicvoidonCompleted(GraphUseruser,Responseresponse){if(user!

android - 为什么调用 finish() 会导致调用 onCreate() 并启动一个新的 Activity?

(是的,我已经查看了与此问题相关的现有问题。)我正在从我的Activity的向上按钮监听器调用finish()。但是,尽管onDestroy()确实会被调用,但首先会调用onPause(),然后令人惊讶的是,onCreate()会被调用,这是造成真正的问题。为什么通过调用ScanningActivity的finish()方法启动新的ScanningActivity?我正在记录所有生命周期函数的调用,顺序是这样的:insideonClick()Listenerforupbutton.InsideonPause()InsideonCreate()//thisiswhat'shosingev

android - 服务类的 finish() 方法的替代方法?把它打死

我之前在几个Activity中使用过finish()方法,没有出现问题。然而,当我试图在广播接收器内部调用它时,我从编译器收到错误消息“方法finish()未定义类型AudioService”AudioService是我的Android应用中服务类的名称。如果服务中没有finish()方法,那么我可以调用什么来终止该服务? 最佳答案 使用这一行:this.stopSelf();自杀。或者从外部使用stopService(intent); 关于android-服务类的finish()方法的

android - AsyncTask 仍在后台运行时 Activity.finish() 会发生什么?

当AsyncTask仍在后台运行时,Activity.finish()会发生什么?它是否只是将Activity从Activity堆栈中弹出,但要等到AsyncTask完全完成后才销毁Activity对象(因为AsyncTask是我的Activity的内部类)?此外,如果AsyncTask是一个公共(public)的非内部类,不引用Activity的实例,它的行为会有什么不同吗? 最佳答案 我已经对Thread进行了同样的尝试,我的观察是它一直在运行线程。 关于android-AsyncT

python - Tornado redis错误: "finish() called twice"

classRedisHandler(BaseHandler):@tornado.web.authenticated@tornado.web.asynchronous@tornado.gen.enginedefpost(self):self.client=tornadoredis.Client()self.client.connect()yieldtornado.gen.Task(self.client.subscribe,'notification')self.client.listen(self.on_message)defon_message(self,msg):ifmsg.kin

Python 子进程 : wait for command to finish before starting next one?

我已经编写了一个Python脚本来下载和转换许多图像,使用wget然后通过链式subprocess调用ImageMagick:forimginimages:convert_str='wget-O./img/merchant/download.jpg%s;'%img['url']convert_str+='convert./img/merchant/download.jpg-resize110x110'convert_str+='-backgroundwhite-gravitycenter-extent110x110'convert_str+='./img/thumbnails/%s.j