JeremyLiao / LiveEventBus

:mailbox_with_mail:EventBus for Android,消息总线,基于LiveData,具有生命周期感知能力,支持Sticky,支持AndroidX,支持跨进程,支持跨APP
Apache License 2.0
3.83k stars 515 forks source link

observe里面控制dialog显示和消失,会出现内存泄漏 #129

Open kanshenmekan opened 3 years ago

kanshenmekan commented 3 years ago

@Override public void onChanged(T t) { if (dialog == null){ dialog = new AlertDialog.Builder(context).setTitle("123").setMessage("888").create(); } dialog.show(); 除非不持有dialog,否则就会内存泄漏

kanshenmekan commented 3 years ago

不知道要怎么写,新手

JeremyLiao commented 3 years ago

因为AlertDialog的显示是在前台的,所以你需要设置lifecycleObserverAlwaysActive为false,这样只有activity前台可见的时候onChanged才会回调,这样就Ok了