gzu-liyujiang / gzu-liyujiang/AndroidPicker
存在 windowLeaked 的问题
- Dominant language
- Java
- Stars
- 6.8k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
## bug 描述
注意到此项目的所有 dialog 都继承于 **Dialog** 而非 **DialogFragment**,所以我在配置更改(如屏幕旋转)时对正在显示的 dialog 主动执行 **dismiss()**,然而在屏幕旋转时 windowLeaked 的问题依然存在,可能和 dialog 内部维护的 view 相关。
## 配置代码
对 dialog 的配置代码如下:
```
// 在 **fragment** 中
private fun configureDatePicker() {
val datePicker = DatePicker(requireActivity())
datePicker.wheelLayout.setRange(
DateEntity.target(1970, 1, 1),
DateEntity.target(3000, 12, 31),
DateEntity.today()
)
datePicker.setOnDatePickedListener { year, month, day ->
viewModel.refreshDate(Date(year, month, day))
}
val observer = object : DefaultLifecycleObserver {
override fun onDestroy(owner: LifecycleOwner) {
super.onDestroy(owner)
if (datePicker.isShowing) {
datePicker.dismiss()
}
owner.lifecycle.removeObserver(this)
}
}
viewLifecycleOwner.lifecycle.addObserver(observer)
datePicker.show()
}
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.