ObjectWatcher was watching this because DataSyncFragment

解决办法: 1、WeakReference activity持有的dialogFragment对象引用在dismiss后会被gc回收掉,直接解决内存泄漏。 2、既然activity一直持有dialogFragment对象引用,那么我们就直接定义到一个匿名内部内中创建一个一次性的对象来使用。让当前界面不再持有该被回收而还持有引用这种情况。

首先注销掉initView(); 运行看是否报错

如果不报错 继续排查

DataSyncFragment 的回调方法
if (buttonClickListener != null) {
    buttonClickListener.onButtonClick(dataSyncSetting.getDataSyncPath(), new WeakReference<>(requireActivity()));
}

如果故障依旧

继续排查activity里面的代码

由于需要两次创建DataSyncFragment  但是代码里只创建了一个DataSyncFragment 并且 两处只用了同一个onclick方法

解决办法就是同时创建两次DataSyncFragment  写两次onclick 方法

代码进行抽取

addDataSyncFragment() { }
private void handleButtonClick(String dataSyncPath, WeakReference<FragmentActivity> activityRef) {
    ServerSettingActivity activity = (ServerSettingActivity) activityRef.get();
    if (activity != null) {
        }
    }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
GC Root: Global variable in native code ─ dalvik.system.PathClassLoader instance Leaking: NO (NetSpeedManager$b↓ is not leaking and A ClassLoader is never leaking) ↓ ClassLoader.runtimeInternalObjects ─ java.lang.Object[] array Leaking: NO (NetSpeedManager$b↓ is not leaking) ↓ Object[1626] ─ com.konka.apkhall.edu.module.album.player.presenter.NetSpeedManager$b class Leaking: NO (a class is never leaking) ↓ static NetSpeedManager$b.a ~ ─ com.konka.apkhall.edu.module.album.player.presenter.NetSpeedManager instance Leaking: UNKNOWN Retaining 6.7 MB in 75213 objects ↓ NetSpeedManager.listeners ~~~~~~~~~ ─ java.util.Collections$SynchronizedRandomAccessList instance Leaking: UNKNOWN Retaining 6.7 MB in 75212 objects ↓ Collections$SynchronizedCollection.c ~ ─ java.util.ArrayList instance Leaking: UNKNOWN Retaining 6.7 MB in 75211 objects ↓ ArrayList[8] ~~~ ─ com.konka.apkhall.edu.module.album.player.widgets.VideoStatusView instance Leaking: YES (View.mContext references a destroyed activity) Retaining 1.3 MB in 15235 objects View not part of a window view hierarchy View.mAttachInfo is null (view detached) View.mID = R.id.video_status View.mWindowAttachCount = 1 mContext instance of com.konka.apkhall.edu.module.album.AlbumActivity with mDestroyed = true ↓ View.mContext → com.konka.apkhall.edu.module.album.AlbumActivity instance Leaking: YES (ObjectWatcher was watching this because com.konka.apkhall.edu.module.album.AlbumActivity received ​ Activity#onDestroy() callback and Activity#mDestroyed is true) ​ Retaining 1.0 MB in 11484 objects ​ key = 9ca61e77-8cfc-471d-94d2-e64c3b173343 ​ watchDurationMillis = 32423 retainedDurationMillis = 27421 mApplication instance of com.konka.apkhall.edu.app.EduApplication ​ mBase instance of android.app.ContextImpl分析原因,给出具体解决代码
05-24

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值