当前位置: 首页> 科技> 能源 > 官方网站下载安装qq_人力资源管理就业方向_百度公司招聘信息_温州百度推广公司电话

官方网站下载安装qq_人力资源管理就业方向_百度公司招聘信息_温州百度推广公司电话

时间:2025/7/11 8:19:04来源:https://blog.csdn.net/i_xiang_la_shi/article/details/147167228 浏览次数:0次
官方网站下载安装qq_人力资源管理就业方向_百度公司招聘信息_温州百度推广公司电话

lifecycle极大的对UI组件的声明周期进行了解耦。

依赖:

implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'

代码演示:

ActivityLifecycleObserver.kt

class ActivityLifecycleObserver : DefaultLifecycleObserver {private val TAG = "ActivityLifecycleObserver"override fun onCreate(owner: LifecycleOwner) {super.onCreate(owner)Log.i(TAG,"onCreate")}override fun onDestroy(owner: LifecycleOwner) {super.onDestroy(owner)Log.i(TAG,"onDestroy")}override fun onPause(owner: LifecycleOwner) {super.onPause(owner)Log.i(TAG,"onPause")}override fun onResume(owner: LifecycleOwner) {super.onResume(owner)Log.i(TAG,"onResume")}override fun onStart(owner: LifecycleOwner) {super.onStart(owner)Log.i(TAG,"onStart")}override fun onStop(owner: LifecycleOwner) {super.onStop(owner)Log.i(TAG,"onStop")}
}

将一个自定义类变成一个lifecycle观察者有两种方法。

第一种方法是上述代码所演示的DefaultLifecycleObserver。

第二种方法是实现LifecycleObserver接口,并且每个方法上添加注释

@OnLifecycleEvent(Lifecycle.Event.enum)(其中的enum代表Event中的枚举值)
public enum class Event {/*** Constant for onCreate event of the [LifecycleOwner].*/ON_CREATE,/*** Constant for onStart event of the [LifecycleOwner].*/ON_START,/*** Constant for onResume event of the [LifecycleOwner].*/ON_RESUME,/*** Constant for onPause event of the [LifecycleOwner].*/ON_PAUSE,/*** Constant for onStop event of the [LifecycleOwner].*/ON_STOP,/*** Constant for onDestroy event of the [LifecycleOwner].*/ON_DESTROY,/*** An [Event] constant that can be used to match all events.*/ON_ANY;
}
这两种方法中我还是比较推荐继承DefaultLifecycleObserver😋。因为,第二种方法是利用反射的原理取实现的,会增加性能开销。

Activity中的操作:

class MainActivity : AppCompatActivity() {private lateinit var activityObserver: ActivityLifecycleObserveroverride fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)activityObserver = ActivityLifecycleObserver()lifecycle.addObserver(activityObserver)}
}

在AppCompatActivity和Fragment中都继承了LifecycleOwner。这就和lifecycle的原理有关了,下个博客里面在讲。如上述代码,就能够将observer中声明在不同生命周期的操作与activity的生命周期绑定在一起,licycleobserver通过观察MainActivity的生命周期的变化,去执行相应的代码操作。

如果觉得主包讲的不错的可以给个关注哦😚

关键字:官方网站下载安装qq_人力资源管理就业方向_百度公司招聘信息_温州百度推广公司电话

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: