Comments (14)
我的想法是在内部加个监听,手动去把它们置空,这样感觉会带来一系列的隐患。
from androidproject.
我在 Leaks 并没有捕捉内存泄漏的情况
from androidproject.
我建议你试一下最新的源码编译还会不会出现这个问题,我在之前的版本有修复过关于 Dialog 内存泄漏问题
from androidproject.
- 代码是最新的。我在activity持有DialogBuilder,在dismiss之后, BaseDialog和BaseDialogFragment显示内存泄漏。系统要回收Dialog和DialogFragment,而被持有的Builder又持有它们,所以泄漏了。
- 上个版本的解决的内存泄漏问题,应该是监听器泄露的,感觉与我这种情况不同。你可以持有Builder类试一试,我看到Demo是没有去持有的,当然也没有必要持有。
from androidproject.
内存泄漏你是怎么用工具检测的
from androidproject.
leakcanary 1.6.2
from androidproject.
debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.0-beta-3'
from androidproject.
你换成这个版本再试试
from androidproject.
- 换成的了 2.0,刚刚看到11.27发布了正式版。
├─ XXXFragment
│ Leaking: NO (Fragment#mFragmentManager is not null)
│ Fragment.mTag=XXX
│ ↓ XXXFragment.XXXDialogBuilder
│ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
├─ XXXDialog$Builder
│ Leaking: UNKNOWN
│ ↓ XXXDialog$Builder.mDialogFragment
│ ~~~~~~~~~~~~~~~
╰→ XXX.widget.dialog.BaseDialogFragment
Leaking: YES (Fragment#mFragmentManager is null and ObjectWatcher was watching this)
key = b82a6f82-8bbc-452d-8cf0-be816378d1f3
watchDurationMillis = 7714
retainedDurationMillis = 2713
METADATA
Build.VERSION.SDK_INT: 24
Build.MANUFACTURER: samsung
LeakCanary version: 2.0
App process name: comXXX
Analysis duration: 8653 ms
from androidproject.
你换成这个版本再试试看
from androidproject.
换成beta3不会报泄漏,这是为何?
from androidproject.
可能是旧版本的Bug
from androidproject.
可能是旧版本的Bug
2.0正式版是最新的,这就奇怪了。那实际上代码本身是不会泄漏的吗。
from androidproject.
Leaks 本身也存在误报,但 Bug 会随着更新而越来越少的,所以要以最新版本为主。
from androidproject.
Related Issues (20)
- 把个人中心activity的布局,写在fragment里的时候点击头像条目下方的条目,头像条目有选中的效果 HOT 3
- androidx.appcompat:appcompat升级 HOT 3
- 关于目前App比较常态化得问题 HOT 1
- 布局中有androidx.core.widget.NestedScrollView组件会阻断BaseActivity中点击空白收起键盘的逻辑 HOT 2
- BaseActivity:startActivityForResult疑惑 HOT 2
- 日期dialog 设置当前日期为2018-12-31, 但页面上显示的是2018-12-30 HOT 3
- 项目缺少 com.hjq.demo.http.glide.GlideApp 文件 HOT 1
- Q群满了老哥 进不去啊 HOT 1
- 又出现了 不清楚是什么问题。 HOT 3
- 打开 AndroidProject APP,LeakCanary 检测启动页出现内存泄露 HOT 5
- gradle升到7+以后aop切面不适配了 HOT 2
- 关于使用TabAdapter配合ViewPager时,导航栏超出屏幕范围后滑动viewpager时导航栏item不显示 HOT 3
- AppActivity实现OnHttpListener意义是什么? HOT 1
- 查看大图模块中onItemClick position 返回值问题 HOT 3
- 建议增加一个下载网络图片到相册的功能 HOT 1
- Demo项目的BuildConfig.HOST_URL在不同环境中始终不变 HOT 3
- 缺少GlideApp文件 HOT 1
- 首次编译提示Your build is currently configured to use Java 17.0.6 and Gradle 6.5 HOT 1
- 是否有更新Gradle8+,Java17,替换通过Aspectjx实现的AOP? HOT 5
- BrowserActivity内存泄漏,网页界面空白 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from androidproject.