问题标签 [leakcanary]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 如何将leakCanary的泄漏痕迹上传到HipChat房间
https://gist.github.com/pyricau/06c2c486d24f5f85f7f0#file-squaredebugapplication-java
我正在尝试按照此处的代码将泄漏跟踪上传到 HipChat 房间。我很确定我使用的是有效的身份验证令牌和房间号,但那里没有任何反应。我也注册了服务并用这个特定的服务覆盖了 install() 方法。有没有人成功做到这一点?任何建议都是可观的。
android - What does the "id" mean in leakcanary
I used LeakCanary to detect memory leak and found this in the log:
But I am not sure what the id=0x12d81740
mean? is it the hash id get by
System.identityHashCode(mBitmap)
?, I have searched the code, but did not find something relative.
android - 卡在“转储内存,应用程序将冻结。Brrr。” 信息
我正在尝试使用 LeakCanary 来检测我的应用程序中的内存泄漏,但它并没有比消息“转储内存,应用程序将冻结。Brrr”更进一步。我已经等了大约 20 分钟左右,但没有任何变化。这些设备上的行为相同:1. Asus fonepad 8(Android 5.0 stock)2. Sony Xperia SP(Android 5.1.1 CM 12.1 custom)3. HTC Desire C(Android 4.4 CM 11 custom)
我按照指示做了一切:
android - LeakCanary 报告的 AttachInfo.mRootCallbacks 的内存泄漏
我正在使用LeakCanary库来解决我的活动的内存泄漏问题。修复了几个问题后,我得到了这个 logcat 输出:
- com.MyPackage.activities.MyActivity 已泄露:
- GC ROOT com.MyPackage.MyView.mAttachInfo
- 引用 android.view.View$AttachInfo.mRootCallbacks
- 引用 android.view.ViewRootImpl.mContext
- 泄漏 com.MyPackage.activities.MyActivity 实例
- 我不知道这个参考是什么意思。该视图保留对阻止它被 GCed 的活动的引用?我应该何时以及如何处理它?
- 我使用了Eclipse 内存分析工具,发现实际上没有我的活动实例。那有意义吗?
也将此作为金丝雀的问题打开。
编辑1:相关实施:
视图:是处理 gl 渲染的外部 jar 的一部分。有对片段的引用。
我所知道的是,当我离开活动时:
- 该活动被销毁,并且不再有该活动的实例。
- 片段被销毁。
- 视图是分离的。
那么为什么金丝雀图书馆会声称 - 有一个泄露的参考资料?
视图应该何时以及如何失去对其上下文的引用?
java - 为什么这个 Observable.timer() 会导致内存泄漏?
LeakCanaryArticleActivity
通过RxComputationThreadPool-1
. _ 因此,我将我的ArticleContainerFragment.startTimer()
方法确定为导致它的方法。删除我的Observable.timer()
调用创建后,不再报告内存泄漏。我仍然需要使用这个计时器,所以你能帮我确定为什么会发生泄漏吗?我在所有我认为正确的地方取消订阅 - 所以我不确定为什么我什至首先会泄露。
这是泄漏的 LeakCanary 日志。
android - 阅读 LeakCanary 日志
我已经安装了 LeakCanary 来查看我的应用程序是否存在内存泄漏。
看起来是这样,但是我看不懂日志,任何人都可以告诉我怎么做,或者给我找不到的好教程???
在github的文档中,它说:
一旦你有了泄漏跟踪,找出路径中的哪个引用不应该存在。然后找出为什么该引用仍然存在。
但我不知道该怎么做。
发送!
这是我的日志。
android - android studio - 如何制作两个自定义应用程序类
我想为我的 android 项目设计两个自定义应用程序。自定义应用程序是扩展应用程序的应用程序。我希望我的发布版本有一个自定义应用程序,而调试版本有另一个。LeakCanary 站点在标记为“自定义和使用无操作依赖项”的部分中讨论了这一点。
我似乎无法弄清楚如何在 androidManifest 中声明另一个应用程序。现在我将它设置为使用这样的单个自定义应用程序:
我如何使上述代码仅用于调试?
并且 androidManifest 覆盖看起来像这样:
我将如何发布另一个 MySecondCustomApplication ?
更新:关于在 gradle 中查看 bulidTypes 的建议,想象我为我的调试应用程序覆盖做了以下结构:
因此,如果我正确理解 buildTypes,那么如果我只有一个用于发布和调试的主文件夹(它是默认/回退),但是如果我指定一个调试文件夹,那么如果我运行任何调试风格,我可能会有 mockDebug、qaDebug等然后它会首先在调试文件夹中查找文件,然后如果找不到则转到主目录,对吗?
另外,那么我将如何在我的清单中声明要使用哪一个?gradle 文件会是什么样子?
android - MapView v2 保持上下文
从最新的谷歌地图 API 中使用 MapView 时,我遇到了内存泄漏,因为 MapView 正在保留我的活动。
我使用了 Leak Canary 并有这个痕迹
D/LeakCanary﹕* GC ROOT com.google.android.gms.location.internal.ta
D/LeakCanary﹕ * 参考 com.google.android.gms.location.internal.sa
D/LeakCanary﹕ * 参考 com.google.maps.api.android.lib6.dvc
D/LeakCanary﹕ * 参考 com.google.maps.api.android.lib6.d.aj.b
D/LeakCanary﹕ * 参考 com.google.maps.api.android.lib6.gmm6.cpa
D/LeakCanary: * 参考 com.google.maps.api.android.lib6.gmm6.cymParent
D/LeakCanary: * 引用 android.widget.FrameLayout.mParent
D/LeakCanary: * 参考 com.google.android.gms.maps.MapView.mContext
D/LeakCanary﹕*泄漏 com.myapp.activities.main.AttractionDetailActivity 实例
有没有人见过这个?
android - 将泄漏跟踪发送到服务器
我现在正在使用leakcanery 一段时间,它工作正常!问题是在广泛的设备上测试了我的一个应用程序之后,出现了一些我以前从未见过的泄漏,所以我决定在生产版本中也启用泄漏或跟踪到我的服务器的泄漏。3个问题
1 - 性能会受到影响吗?!有时泄漏会导致调试模式出现一些滞后,所以如果我在生产版本中启用。是否会发生相同的滞后?
2 - 我阅读了有关如何将堆文件发送到服务器的文档,但是有什么方法可以代替发送跟踪,就像一次泄漏通常显示的那样。当我得到它时,我真的不想分析堆文件。那么我怎样才能在发送它之前解析这个文件以使其有意义呢?
3-我可能是最愚蠢的问题,但我应该怎么做才能在生产版本中启用泄漏?是默认启用还是我应该如何配置它?