@@ -104,7 +104,8 @@ public void onClick(View v) {
104104
105105 @ Override
106106 public void onWindowCancel (@ NonNull EasyWindow <?> easyWindow ) {
107- // 在窗口消失的时候回收资源,避免 LeakCanary 一直报内存泄漏,关于这点框架文档有介绍,详情请看文档
107+ // 如果 EasyWindow 在取消显示后,没有再次使用了,则应该在窗口消失的时候回收资源,
108+ // 避免 LeakCanary 一直报内存泄漏,关于这点框架文档有介绍,详情请看文档
108109 easyWindow .recycle ();
109110 }
110111 })
@@ -122,7 +123,8 @@ public void onWindowCancel(@NonNull EasyWindow<?> easyWindow) {
122123
123124 @ Override
124125 public void onWindowCancel (@ NonNull EasyWindow <?> easyWindow ) {
125- // 在窗口消失的时候回收资源,避免 LeakCanary 一直报内存泄漏,关于这点框架文档有介绍,详情请看文档
126+ // 如果 EasyWindow 在取消显示后,没有再次使用了,则应该在窗口消失的时候回收资源,
127+ // 避免 LeakCanary 一直报内存泄漏,关于这点框架文档有介绍,详情请看文档
126128 easyWindow .recycle ();
127129 }
128130 })
@@ -166,7 +168,8 @@ public void onWindowShow(@NonNull EasyWindow<?> easyWindow) {
166168 @ Override
167169 public void onWindowCancel (@ NonNull EasyWindow <?> easyWindow ) {
168170 Snackbar .make (getWindow ().getDecorView (), "消失回调" , Snackbar .LENGTH_SHORT ).show ();
169- // 在窗口消失的时候回收资源,避免 LeakCanary 一直报内存泄漏,关于这点框架文档有介绍,详情请看文档
171+ // 如果 EasyWindow 在取消显示后,没有再次使用了,则应该在窗口消失的时候回收资源,
172+ // 避免 LeakCanary 一直报内存泄漏,关于这点框架文档有介绍,详情请看文档
170173 easyWindow .recycle ();
171174 }
172175 })
@@ -377,6 +380,15 @@ public void onDenied(@NonNull List<String> permissions, boolean doNotAskAgain) {
377380 .setWindowDuration (1000 )
378381 .setWindowAnim (R .style .ScaleAnimStyle )
379382 .setTextByTextView (android .R .id .message , "就问你溜不溜" )
383+ .setOnWindowLifecycleCallback (new OnWindowLifecycleCallback () {
384+
385+ @ Override
386+ public void onWindowCancel (@ NonNull EasyWindow <?> easyWindow ) {
387+ // 如果 EasyWindow 在取消显示后,没有再次使用了,则应该在窗口消失的时候回收资源,
388+ // 避免 LeakCanary 一直报内存泄漏,关于这点框架文档有介绍,详情请看文档
389+ easyWindow .recycle ();
390+ }
391+ })
380392 .show ();
381393 }
382394 }
@@ -448,7 +460,8 @@ public boolean onLongClick(@NonNull EasyWindow<?> easyWindow, @NonNull ImageView
448460
449461 @ Override
450462 public void onWindowCancel (@ NonNull EasyWindow <?> easyWindow ) {
451- // 在窗口消失的时候回收资源,避免 LeakCanary 一直报内存泄漏,关于这点框架文档有介绍,详情请看文档
463+ // 如果 EasyWindow 在取消显示后,没有再次使用了,则应该在窗口消失的时候回收资源,
464+ // 避免 LeakCanary 一直报内存泄漏,关于这点框架文档有介绍,详情请看文档
452465 easyWindow .recycle ();
453466 }
454467 })
0 commit comments