-
Notifications
You must be signed in to change notification settings - Fork 224
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
【BUG反馈】 队列对话框未能全部显示 #476
Comments
因为DialogX的对话框可能持有context因此必须使用弱引用来避免内存泄漏,建议在需要展示对话框时进行构造而不是提前构造。 |
没明白你所说的“建议在需要展示对话框时进行构造而不是提前构造”。 调用DialogX.showDialogList不是已经开始展示对话框了吗?假如需要按顺序展示对话框A和B,在A未消失前,GC机制将弱引用持有的对象回收了,这时不就是没法显示对话框B了吗? |
我考虑下这块怎么改,主要问题还是在于context的引用,修改为activity释放则清理应该更合适一些 |
最好还是通过代码手动控制资源释放,毕竟GC回收时机是不可控的,而且基于“队列对话框”这个场景,弱引用导致的问题感觉是不可接受的。 我也试着改下吧,要是改好了,给你提一个PR 🤝 |
ok,最新的代码我也为DialogListBuilder增加了空指针风险控制,稍晚更新一个测试版本 |
问题描述
使用DialogX.showDialogList时,未能显示全部弹窗。BaseDialog中的成员变量WeakReference dialogListBuilder所持有的引用被系统提前释放。
复现步骤:
1.运行Demo,点击队列对话框
2.显示到InputDialog时,将应用切换至后台并等待3到5分钟
3.将应用切回前台,点击“知道了”
预期效果:继续显示剩余对话框
实际效果:对话框消失,剩余对话框不会弹出
DialogX 版本
0.0.50.beta23
设备信息
Samsung Galaxy S9+
是否在 Demo 中能复现此问题?
是
问题截图/视频
截屏/视频
错误日志
No response
The text was updated successfully, but these errors were encountered: