如何理解Activity从onStop
1个回答
展开全部
大家都知道Activity的生命周期,
onCreate 、onStart 、onResume 、onPause 、onStop 、onDestroy
一、那么onStop是怎么产生的呢?
Activity在不可见的时候,如被其他Activity完全覆盖,此Activity就处于onStop状态。
二、那么接下来会发生什么事情呢?
有两种情况:1、Activity再次启用,调用onRestart,复活。
2、Activity被销毁,调用onDestroy。销毁有两种原因:主动调用finish()或被系统回收。
那么在一和二之间,Activity到底处于一个什么状态?是否可用?
这段时间是Activity的后台时间虚让,它是不可见的,但它是可用的。
我当时就是因为看到“stop”,就主观说起是停止状态,是不可用的,实践证明我是答码错的。
比如说此时还可以用来处理广播发来的消息等等。
但是这段时间又是一段不安全时间,系统根据内存状况随时都有可能将其回收。
好的做法是,在onPause状态就把重要的数据存起来,以备在onResume时恢复。
因为在此activity被遮住之前,onPause()就清誉哪被调用了。然而需要注意的是,这里面处理事务的时间不宜过长。
具体参见activity的google API文档。
onCreate 、onStart 、onResume 、onPause 、onStop 、onDestroy
一、那么onStop是怎么产生的呢?
Activity在不可见的时候,如被其他Activity完全覆盖,此Activity就处于onStop状态。
二、那么接下来会发生什么事情呢?
有两种情况:1、Activity再次启用,调用onRestart,复活。
2、Activity被销毁,调用onDestroy。销毁有两种原因:主动调用finish()或被系统回收。
那么在一和二之间,Activity到底处于一个什么状态?是否可用?
这段时间是Activity的后台时间虚让,它是不可见的,但它是可用的。
我当时就是因为看到“stop”,就主观说起是停止状态,是不可用的,实践证明我是答码错的。
比如说此时还可以用来处理广播发来的消息等等。
但是这段时间又是一段不安全时间,系统根据内存状况随时都有可能将其回收。
好的做法是,在onPause状态就把重要的数据存起来,以备在onResume时恢复。
因为在此activity被遮住之前,onPause()就清誉哪被调用了。然而需要注意的是,这里面处理事务的时间不宜过长。
具体参见activity的google API文档。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询