大家好,activity生命周期方法相信很多的网友都不是很明白,包括startActivityForResult也是一样,不过没有关系,接下来就来为大家分享关于activity生命周期方法和startActivityForResult的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
activity内存泄漏原因
由于这个Handler作为内部类声明在Activity内部,普通的内部类对象隐式地保存了一个指向外部类对象的引用,所以这个Handler对象保存了一个指向Activity对象的引用。
而这个Handler对象的生命周期可能比Activity生命周期长,比如当有一个后台线程持有该Handler,别且该线程在执行一个长时间任务。
所以当该Handler没有被JVM垃圾回收器回收时,它就阻止了它引用的外部类Activity对象的回收,这里就导致了内存泄露
handlerpost和viewpost区别
handlerpost和viewpost是两个常用的Java线程模型,它们之间最主要的区别在于执行上下文的不同。
handlerpost是在UI线程中运行的,主要用于发送消息到UI线程进行处理,例如更新UI元素等任务;而viewpost则是在非UI线程中运行的,主要用于发送消息到UI线程进行处理,例如从后台线程向UI线程发送通知等任务。两个线程模型的适用场景不同,开发者可以根据实际需要选择合适的线程模型来实现相应的功能。
lifecycle替换方法
RxJava的Observablesubscribe()后会返回Subscription(RxJava2是在onSubscribe(Disposabled)),我们都知道在Activity退出的时候要执行subscription.unsubscribe()。每个Observable订阅后,都要我们写一些管理Subscription的代码,于是懒惰的人们发现了RxLifecycle,只要自己的ActivityextendsRxActivity(还有其他的,不一一列举),然后就只要一行代码,就可以根据Activity生命周期自动取消订阅
简述activity生命周期的四种状态及其之间的转换关系
activity生命周期的四种状态及其之间的转换关系:
(1)正常情况下:依次会走Activity启动--onCreate()--onStart()--onResume()--Activity此时呈现在用户面前--当停掉Activity时会执行onPuse()--Activity不可见时执行onStop()--Activity被销毁时---onDestory()
(2)当Activity暂停之后,用户又返回到Activity时:依次会执行onResume()--Activity此时呈现在用户面前--当停掉Activity时会执行onPuse()--Activity不可见时执行onStop()--Activity被销毁时---onDestory()
(3)当Activity长时间不可见,用户又重新导航到Activity:依次会执行onRestart()--onStart()--onResume()--Activity此时呈现在用户面前--当停掉Activity时会执行onPuse()--Activity不可见时执行onStop()--Activity被销毁时---onDestory()
(4)当Activity被释放掉后又重新导航回来:依次会执行onCreate()--onStart()--onResume()--Activity此时呈现在用户面前--当停掉Activity时会执行onPuse()--Activity不可见时执行onStop()--Activity被销毁时---onDestory()
activity有异常的意思吗
activity本身是名词,意思是活动;热闹状况;活跃;(为兴趣、娱乐或达到一定目的而进行的)活动;
但是在一些专业理论里面,有Activity生命周期(异常情况)这种
关于本次activity生命周期方法和startActivityForResult的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。