memory泄露分析方法(Binder,Window,View篇)

View泄露:Hprof 找大量重复的view,点击查看text文案如果相同则找产品他们确认是否合理 **window泄露:**代码或dumpsys window来监测是否有大量同名window,不能用windowtoken来辨别是否重复window,每个window token都不一样,windowtoken初始化过程如下所示:

复制代码
ViewRootImpl(
mWindow = new W(this);
mAttachInfo = new View.AttachInfo(mWindowSession, mWindow, display, this, mHandler, this,context);
mWindowToken = window.asBinder();

Binder泄露:

复制代码
Too many Binders sent to SYSTEM

2类泄漏:

  • ProxyBinders:本地持有对端remote binder对象:(向外发1次binder请求,新建1个Proxy Binders对象) 我有多少联系人

2种报错形式

  • Debuggable builds will throw an AssertionError if the number of map entries exceeds 25_000

    Binder ProxyMap has too many entries: 20691 (total), 20691 (uncleared), 20691 (uncleared after GC ). BinderProxy leak?

  • Android系统创建的Binder数量最大值超过6000,非systemuid的binder调用会被kill掉

2种泄漏原因:

  1. Death Recipients泄露

  2. 对端注册了太多的callback导致泄漏

  • LocalBinders:本地创建的bindercallback对象,传给Server对端回调我用(LocalBinders数量,有多少个人可联系上)

Android BinderProxy leak 原理分析-CSDN博客

相关推荐
JMchen1231 小时前
Android后台服务与网络保活:WorkManager的实战应用
android·java·网络·kotlin·php·android-studio
crmscs2 小时前
剪映永久解锁版/电脑版永久会员VIP/安卓SVIP手机永久版下载
android·智能手机·电脑
localbob2 小时前
杀戮尖塔 v6 MOD整合版(Slay the Spire)安卓+PC端免安装中文版分享 卡牌肉鸽神作!杀戮尖塔中文版,电脑和手机都能玩!杀戮尖塔.exe 杀戮尖塔.apk
android·杀戮尖塔apk·杀戮尖塔exe·游戏分享
机建狂魔2 小时前
手机秒变电影机:Blackmagic Camera + LUT滤镜包的专业级视频解决方案
android·拍照·摄影·lut滤镜·拍摄·摄像·录像
hudawei9962 小时前
flutter和Android动画的对比
android·flutter·动画
lxysbly4 小时前
md模拟器安卓版带金手指2026
android
儿歌八万首4 小时前
硬核春节:用 Compose 打造“赛博鞭炮”
android·kotlin·compose·春节
消失的旧时光-19437 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
Jinkxs7 小时前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin
&有梦想的咸鱼&7 小时前
Kotlin委托机制的底层实现深度解析(74)
android·开发语言·kotlin