org.eclipse.mat.SnapshotException: SnapshotImpl_Error_ObjectNotFound

* FAILURE:
org.eclipse.mat.SnapshotException: SnapshotImpl_Error_ObjectNotFound
at org.eclipse.mat.parser.internal.SnapshotImpl.mapAddressToId(SnapshotImpl.java:1194)
at org.eclipse.mat.snapshot.model.ObjectReference.getObjectId(ObjectReference.java:38)
at org.eclipse.mat.snapshot.model.ObjectReference.getObject(ObjectReference.java:42)
at org.eclipse.mat.parser.model.AbstractObjectImpl.resolveValue(AbstractObjectImpl.java:149)
at com.squareup.leakcanary.HeapAnalyzer.findLeakingReference(HeapAnalyzer.java:161)
at com.squareup.leakcanary.HeapAnalyzer.checkForLeak(HeapAnalyzer.java:95)
at com.squareup.leakcanary.internal.HeapAnalyzerService.onHandleIntent(HeapAnalyzerService.java:57)
at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.os.HandlerThread.run(HandlerThread.java:61)

* Reference Key: a0480265-64f8-4be7-91c1-bf18508e7155
* Device: HUAWEI HUAWEI HUAWEI RIO-CL00 RIO-CL00
* Android Version: 5.1 API: 22 LeakCanary: 1.3.1

* Durations: watch=5027ms, gc=287ms, heap dump=3798ms, analysis=18708ms

我在使用leakcanary工具在android5.1及以上版本有时看到这个错误,找在百度上找了一圈,没有找到答案,于是我就想这可能是我的leakcanary版本过低,新出的系统不兼容,于是我想升级下leakcanary,我当前使用的是com.squareup.leakcanary:leakcanary-android:1.3.1,所以我们得找到最新版本:

点击我们的项目---android studio的file菜单----Project Structure..


这时弹出Project Structure对话框,点击左侧的app,然后选择Dependencies选择项卡,再点击右边的加号,选择library dependency


这时弹出Choose Library Dependency(选择依赖库对话框),在框中输入"leakcanary" ,然后点击搜索按钮,这时要等一会儿,因为这个进度条在转,意思就是在加载数据


过了一会儿,就出现搜索结果了:


选择com.squareup.leakcanary:leakcanary-android:1.4-beta2点击ok,效果如上图,回到Project Structure对话框,找到刚刚,点击右边的箭头,选择


同样的方法选择com.squareup.leakcanary:leakcanary-android-no-op:1.4-beta2,只是要选择Release compile如下图:



最后选择之前的1.3.1的删除,重新编译就可以了。。。。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值