如何解决Android Dialog Memoery 在 Fragment 中泄漏
我在 Fragment 中使用了自定义对话框。
if (dialogAuthorization == null) {
dialogAuthorization = new Dialog(getActivity());
dialogAuthorization.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialogAuthorization.setContentView(R.layout.dialog_sales_register_change_deposit);
}
我的问题是我正在使用泄漏金丝雀来检查应用程序性能。
但它显示以下日志泄漏内存。
我也在使用后关闭对话框。但仍然显示内存泄漏。
任何人都可以帮助我清除或正确销毁可用于 GC 的对话框?。
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: ┬───
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ GC Root: System class
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: ├─ com.jmsc.jmscpostabapp.AppBaseActivity class
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ Leaking: NO (FragmentSalesRegisterRConly↓ is not leaking and a class is never leaking)
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ ↓ static AppBaseActivity.objEpsonPrintEND
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: ├─ com.jmsc.jmscpostabapp.ui.fragments.sales.FragmentSalesRegisterRConly instance
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ Leaking: NO (Fragment#mFragmentManager is not null)
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ activity instance of com.jmsc.jmscpostabapp.ui.activity.HomeActivity with mDestroyed = false
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ appContext instance of com.jmsc.jmscpostabapp.JMSCApplication
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ objBaseActivity instance of com.jmsc.jmscpostabapp.ui.activity.HomeActivity with mDestroyed = false
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ objAct instance of com.jmsc.jmscpostabapp.ui.activity.HomeActivity with mDestroyed = false
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ Fragment.mTag=SALES REGISTER
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ ↓ FragmentSalesRegisterRConly.dialogAuthorization
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ ~~~~~~~~~~~~~~~~~~~
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: ├─ android.app.Dialog instance
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ Leaking: UNKNOWN
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ Retaining 19.9 kB in 376 objects
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ mContext instance of android.view.ContextThemeWrapper,wrapping activity com.jmsc.jmscpostabapp.ui.activity.
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ HomeActivity with mDestroyed = false
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ Dialog#mDecor is null
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ ↓ Dialog.mWindow
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ ~~~~~~~
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: ├─ com.android.internal.policy.PhoneWindow instance
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ Leaking: UNKNOWN
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ Retaining 19.7 kB in 371 objects
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ mContext instance of android.view.ContextThemeWrapper,wrapping activity com.jmsc.jmscpostabapp.ui.activity.
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ HomeActivity with mDestroyed = false
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ Window#mDestroyed is false
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ ↓ PhoneWindow.mDecor
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: │ ~~~~~~
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: ╰→ com.android.internal.policy.PhoneWindow$DecorView instance
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: Leaking: YES (ObjectWatcher was watching this because com.android.internal.policy.PhoneWindow$DecorView received
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: View#onDetachedFromWindow() callback)
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: Retaining 2.3 kB in 45 objects
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: key = 8133e6b0-f2ac-4a64-8c31-190aaad6e516
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: watchDurationMillis = 12486
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: retainedDurationMillis = 7212
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: View not part of a window view hierarchy
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: View.mAttachInfo is null (view detached)
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: View.mWindowAttachCount = 1
01-06 03:20:54.147 14985-15323/com.jmsc.jmscpostabapp D/LeakCanary: mContext instance of android.view.ContextThemeWrapper,wrapping activity com.jmsc.jmscpostabapp.ui.activity.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。