LiveEventBus icon indicating copy to clipboard operation
LiveEventBus copied to clipboard

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

Open kanshenmekan opened this issue 3 years ago • 2 comments

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

kanshenmekan avatar Mar 24 '21 11:03 kanshenmekan

不知道要怎么写,新手

kanshenmekan avatar Mar 24 '21 11:03 kanshenmekan

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

JeremyLiao avatar Apr 11 '21 02:04 JeremyLiao