问题标签 [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 - 尽管我在离开活动时正在释放资源,但泄露了上下文
我有一个Fragment
里面Activity
我正在使用一个名为的库ExoMedia
,你可以在 github 上查看它,它是 google 的ExoPlayer
.
在这个片段中,我声明了两个字段:
后来我实例化它们:
在哪里onDestroy
我试图让它们都为空,这样它们Context
在泄漏 Activity 时就不会泄漏任何东西:
但是当我退出时,我仍然Activity
收到了LeakCanary
泄漏的报告Context
:
所以我有两个问题:
a) 我做的不onDestroy()
正确:将 VideoControls 对象设置为 null,这样它就不会保持活动状态并泄漏内存。
b)这是一个错误还是我忘记发布某些内容并导致我出现此错误?
谢谢
java - 泄漏金丝雀不工作
我想将泄漏金丝雀添加到测试项目中。我创建了一个项目并执行了此视频中的步骤:https ://www.youtube.com/watch?v=2VKBjlHtKMY
当我尝试时,模拟器 Nexus_5X_API_23 中出现wrongWay()
消息“Dumping Memory app will freeze” 。当我尝试rightWay()
时,也会出现相同的消息。作者使用. _rightWay()
我不明白为什么?
我在哪里可以找到关于 Leak Canary 或其他泄漏内存库的好教程。
所以 build.gradle 是:
AndroidManifest.xml
LeakCanaryApplication.java
MainActivity.java
android - Leakcanary 未解决的图标
我正在尝试构建我的自定义 buildType,如下所示:
在调试版本中,一切正常,但是一旦我尝试构建发布版或测试版,就会出现此错误:
我看到合并的清单包含以下条目:
我做错了什么?我已阅读常见问题解答部分并正确地将 betaCompile 条目包含到我的 gradle 文件中,所以现在看起来如下:
我试图清理/重建项目,但错误仍然存在。此外,如果我从应用程序中删除leakcanary代码并从gradle文件中删除依赖项,我仍然会收到此错误,这很奇怪,因为项目中根本不应该存在leakcanary。
有什么想法吗?
android - 凌空请求的匿名侦听器导致内存泄漏
我正在使用 volley 库进行网络服务调用。我制作了一个通用类,用于进行所有 Web 服务调用并从那里进行服务调用,并为成功和错误响应创建了匿名侦听器。
但是当我使用泄漏金丝雀时,它显示与上下文相关的内存泄漏。下面是我的代码片段:
我创建了一个名为响应侦听器的接口,用于将响应重定向到活动或片段。我提出如下要求。
但我面临内存泄漏:
任何消除此泄漏的想法都值得赞赏。
android - Google PlusOneButton 泄露了上下文
我已经开始在我的 Android 应用程序上跟踪内存泄漏,并且感谢伟大的LeakCanary库,我发现我的一些包含 a 的活动GooglePlusButton
正在泄漏上下文。
不幸的是,我没有找到避免它的解决方法。正如这个旧的错误报告所述,初始化方法隐藏了它需要上下文的事实。此外,它需要一个 Activity 上下文;Android工作室反编译器显示它(错误报告者也告诉它):
有没有比完全摆脱 +1 按钮更好的解决方法?
注意:我使用的是 Google Play Services 9.6.0,但这个问题也发生在以前的版本上。
android - LeakCanary 通过 locationlistener 的匿名实现报告泄露的活动实例
在 onDestroy
匿名实现
LocationManager 和 LocationListener 导入自
我使用后退按钮离开活动,所以我尝试覆盖 onBackPressed,并从 onBackPressed 中的 locationManager 中删除更新,但我得到了同样的泄漏。
以下是带有泄漏的Logcat
我之前在 onOrientationChange 期间发现了 locationListener 的内存泄漏,
我通过放置解决了它
在 onSaveInstanceState 中。并使用 locationListener 的匿名实现运行初始化函数。
为什么不locationManager.removeUpdates(locationListener)
发布对活动的引用?任何建议,将不胜感激!提前致谢!!
编辑 好的,仍然没有解决 MemoryLeak,但我删除了匿名类,而是让 Activity 实现 LocationListener。
我仍然遇到同样的内存泄漏。
android - WebView Android中leakcanary的奇怪内存泄漏
我使用leakcanary 来检测我的应用程序内存并发现一个包含webview 的Activity 泄漏。当我删除有关 WebView 的代码时,它检测到没有泄漏。但是,在添加 webview 的代码时,leakcanary 显示了一个非常奇怪的消息,例如这个泄漏消息。它显示了由 TextToSpeech 引起的泄漏,但实际上我没有使用这个类。我确定泄漏是由 WebView 引起的,所以我搜索了这个问题,发现它似乎是 Android 中的一个“著名”泄漏。我尝试了很多解决方案,但没有一个可以工作。这是我的 FaceWebViewActivity 中关于 WebView 的代码
我用Java代码初始化了一个WebView,并没有在xml中添加它。在destroy 函数中,我将它从视图层次结构中删除,但leakcanary 仍然显示泄漏消息(我确定我的代码中没有使用TextToSpeech)。有人收到和我一样的泄密信息吗?您能否告诉我有关该消息的一些提示并帮助我摆脱它。
android - LeakCanary 未在应用程序中显示泄漏
我在我的应用程序中使用 LeakCanary,并且我已按照本指南在应用程序中进行设置。每当应用程序发生泄漏时,LeakCanary 就会在应用程序中显示泄漏通知,而且我能够在手机存储中找到hprof文件,这意味着它可以很好地收集和转储泄漏数据。但问题是,当我在我的设备上打开名为Leaks的 LeakCanary 应用程序以获取有关泄漏发生的确切位置的信息时,它显示一个空白屏幕,没有关于发生泄漏的信息。知道为什么应用程序没有显示任何数据吗?我在运行 Android 6.0.1 的设备上运行我的应用程序。
android - Android 中用于启动应用程序的内存泄漏(活动作为上下文持续存在)
我的 android 应用程序中存在内存泄漏,这似乎是由 AppCompat 活动存储启动活动的上下文并且从不释放它的方式引起的。
那么我这边有什么可能导致它吗?