通过Kotlin协程处理异步操作,将处理结果赋值给可观察类型的数据(StateFlow、SharedFlow和livedata,[RxJava]),然后在Activity or fragment组件的生命周期内监听这些数据,避免由于 数据模型和组件生命周期长短不一致导致的内存泄漏问题。
可以通过以下的方式实现,要自己处理内存泄漏的问题。比如Handler可以在Activity的onstop生命周期回调函数内调用 Handler的removeCallbacksAndMessages方法 移除所有的回调和消息实体类。
- Handler
- Send version
- sendEmptyMessage(int)
- sendMessage(Message)
- sendMessageAtTime(Message, long)
- sendMessageDelayed(Message, long)
- Post version
- post(Runnable)
- postAtTime(java.lang.Runnable, long)
- postDelayed(Runnable, Object, long)
- Send version
- AsyncTask