首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每当我关闭任何片段时,我都会得到未知的内存泄漏

当关闭任何片段时,出现未知的内存泄漏可能是由于以下几个原因造成的:

  1. 编码错误:在开发过程中,可能存在编码错误,比如没有正确释放分配的内存或者没有及时关闭资源导致的内存泄漏。解决该问题的方法是仔细检查代码,确保每次分配的内存都得到正确释放,同时关闭所有的资源。
  2. 循环引用:在某些情况下,对象之间的循环引用可能导致内存泄漏。当对象之间互相引用,但无法通过垃圾回收机制判断出哪些对象可以被回收时,内存泄漏就会发生。为了解决这个问题,可以使用弱引用或者手动解除引用来打破循环引用。
  3. 内存泄漏的第三方库:有些第三方库可能存在内存泄漏的问题。在使用这些库时,需要查看官方文档或者社区讨论,了解是否存在已知的内存泄漏问题,并尝试更新到修复了该问题的版本。

对于解决和优化内存泄漏问题,可以采取以下方法:

  1. 使用内存管理工具:可以使用一些内存管理工具来帮助检测和分析内存泄漏问题,比如Valgrind、LeakCanary等。这些工具可以帮助定位内存泄漏的具体位置和原因。
  2. 垃圾回收机制:对于使用垃圾回收机制的编程语言,比如Java、Python等,可以依赖垃圾回收器自动管理内存,但仍需注意避免循环引用等问题。
  3. 预防内存泄漏:在编写代码时,应养成良好的编码习惯,包括正确释放内存、关闭资源、避免循环引用等。同时,及时处理内存泄漏问题,不断优化代码和算法。

腾讯云提供了一系列云计算相关的产品,其中与内存管理和性能优化相关的产品包括:

  1. 云服务器(Elastic Cloud Server,ECS):提供弹性、可扩展的云服务器实例,可根据需求调整实例规格和数量,以优化内存和性能。
  2. 内存数据库 TencentDB for Redis:提供高性能的内存数据库服务,支持缓存和存储,可用于加速数据访问和提高应用性能。
  3. 弹性容器实例(Elastic Container Instance,ECI):提供轻量级、无需管理的容器实例,可根据实际负载自动伸缩,提供高效的内存管理和优化。
  4. 云监控(Cloud Monitor):提供实时监控和报警服务,可监测应用程序的内存使用情况,及时发现和解决内存泄漏问题。

关于内存泄漏的更多信息,可以参考腾讯云官方文档:

相关搜索:每当我尝试使用我的类时,我都会得到一个错误每当我从主class..why调用任何方法时,我都会得到'0‘值,是吗?每当我在我的终端上运行npm install时,我都会得到"cb() never called“运行终结点时内存泄漏(将数据解析到数据库中)当我在本地执行此操作时,我得到: ENOBUFS当我在Thread对象上调用run()时,为什么我的Java程序会泄漏内存?表单验证错误:每当我单击submit按钮时,我都会在errorDiv上得到附加的错误结果每当我尝试使用此php脚本下载除txt文件以外的任何内容时,都会得到损坏的文件当我将图中的节点数从4增加到大于5的任何值时,malloc得到内存损坏每当我使用go尝试任何命令时,输出都会显示我的go-build已损坏且不可读让计算机和用户轮流猜测的数字程序。每当我运行它时,我都会得到这样的结果当我试图隐藏一个主题时,我在我的wordpress网站上得到了这个内存错误在使用axios调用登录API时,当我的凭据在catch中出错时,我没有得到任何响应我无法通过npm run命令运行脚本。我的脚本名是"start“。每当我通过这个命令运行这个脚本时,我都会得到错误在Perl脚本中,我可以打开/写入/关闭一个文件,但是当我尝试将其聚集时,我得到“错误的文件描述符”我不能在链表类中赋值struct节点的变量。当我将它们赋给任何东西时,它都会产生未定义的行为当我尝试更新一个不在方案中的字段时,我在postman中得到了200响应,并且没有显示任何错误为什么我得到"ValueError:对已关闭文件的I/O操作“。当我在Jupyter中运行最后一段代码时?当我尝试将我的numpy数组保存到.npy文件时,我得到了一个内存错误。如何从内存有限的图像文件创建大型.npy文件?我得到socket.gaierror:[Errno 8]提供的节点名和服务名,或者当我在Linux上运行它而不是在MAC os x上运行它时,它是未知的。当我试图使i= i*i时,为什么我得到错误“使用未初始化的内存'i'”和“未初始化的局部变量'i‘已使用”
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Android 内存泄漏分析心得

; 弱引用(WeakReference):在 GC 时,一旦发现了只具有弱引用的对象,不管当前内存空间足够与否,都会回收它的内存; 虚引用(PhantomReference):任何时候都可以被GC回收,...我们常说的内存泄漏是指new出来的Object无法被GC回收,即为强引用: 内存泄漏发生时的主要表现为内存抖动,可用内存慢慢变少: Andriod中分析内存泄漏的工具MAT MAT(Memory Analyzer...Handler引起的内存泄漏 当Handler中有延迟的的任务或是等待执行的任务队列过长,由于消息持有对Handler的引用,而Handler又持有对其外部类的潜在引用,这条引用关系会一直保持到消息得到处理...集合中对象没清理造成的内存泄漏 我们通常把一些对象的引用加入到了集合容器(比如ArrayList)中,当我们不需要该对象时,并没有把它的引用从集合中清理掉,这样这个集合就会越来越大。...WebView造成的泄露 当我们不要使用WebView对象时,应该调用它的destory()函数来销毁它,并释放其占用的内存,否则其占用的内存长期也不能被回收,从而造成内存泄露。

2.4K10

Java 中的内存泄漏

(右边) 2.未关闭的流: 忘记关闭流是一种非常常见的情况,当然,大多数开发人员都会遇到这种情况。...当在 try-with-resource 子句中引入自动关闭所有类型的流的能力时,这个问题在 Java 7 中得到了部分解决。...让我们看看从 URL 加载大文件时应用程序的内存情况: 正如我们所看到的,堆使用量随着时间的推移逐渐增加——这是未关闭流导致内存泄漏的直接影响。...从技术上讲,未关闭的流将导致两种类型的泄漏——低级资源泄漏和内存泄漏。 低级资源泄漏只是操作系统级资源的泄漏——例如文件描述符、打开的连接等。这些资源也可能泄漏,就像内存一样。...具体来说,当我们开始将重复对象添加到 Set 中时——它只会增长,而不是像它应该的那样忽略重复对象。一旦添加,我们也将无法删除这些对象。

27620
  • 译文:开发人员面临的 10个最常见的JavaScript 问题

    内存泄漏示例1:悬空对已失效对象的引用 请考虑以下代码: 如果运行上述代码并监视内存使用情况,你会发现内存严重泄漏,每秒泄漏整整一兆字节!即使是手动垃圾回收器(GC)也无济于事。...让我们更详细地研究一下: 每个theThing对象都包含自己的1MB longStr对象。每秒钟,当我们调用replaceThing时,它都会保留对theThing中priorThing对象的引用。...但是,一旦变量被任何闭包使用,它就会最终进入该范围内所有闭包共享的词汇环境中。而这个小小的细微差别就是导致这种可怕的内存泄漏的原因。...内存泄漏示例2:循环引用 请考虑以下代码片段: 在这里,onClick有一个闭包,保留对元素的引用(通过element.nodeName)。...当需要添加多个DOM元素时,一种有效的替代方法是改用文档片段,从而提高效率和性能。

    1.3K20

    来来来,聊聊7种内存泄露场景和13种解决方案

    Java中内存泄露的类型 在任何一个应用程序中,发生内存泄露往往由很多原因构成。下面我们就聊聊最常见的一些内存泄露场景。...未关闭的资源 无论什么时候当我们创建一个连接或打开一个流,JVM都会分配内存给这些资源。比如,数据库链接、输入流和session对象。 忘记关闭这些资源,会阻塞内存,从而导致GC无法进行清理。...当我们创建内部类的对象时,内存模型如下所示: 如果将内部类声明为static的,那么内存曲线则像从写equals和hashCode方法之后的图一样,是一条平稳的直线。...尽管在处理内存泄漏时没有万能的解决方案,但是有一些方法可以使内存泄漏最小化。...但针对内存泄露来说,这还是九牛一毛,不同的代码,不同的场景都会出现一些未知的内存泄露问题,同时也没有万能的解决方案。

    2.6K10

    一文读懂FM算法优势,并用python实现!(附代码)

    介绍 我仍然记得第一次遇到点击率预测问题时的情形,在那之前,我一直在学习数据科学,对自己取得的进展很满意,在机器学习黑客马拉松活动中也开始建立了自信,并决定好好迎接不同的挑战。...为了做得更好,我购买了一台内存16GB,i7处理器的机器,但是当我看到数据集的时候却感到非常不安,解压缩之后的数据大概有50GB - 我不知道基于这样的数据集要怎样进行点击率预测。...幸运地是,Factorization Machines(FM)算法拯救了我。 任何从事点击率预测问题或者推荐系统相关工作的人都会遇到类似的情况。...当我们讨论FM或者FFM的时候,数据集中的每一列(比如上述表格中的出版商、广告商等)将被称为一个字段,每一个值( ESPN、Nike 等)都被称为一个特征。...对于余弦函数,当 θ是0时,得到最大值1;当 θ是180度,得到-1,所以当 θ接近于0时,相似性最大。

    5K80

    怎样修复 Web 程序中的内存泄漏

    (当然,服务端渲染的网站也可能会泄漏服务器端的内存。但是客户端泄漏内存的可能性很小,因为每次你在页面之间导航时浏览器都会清除内存。) Web 开发文献中没有很好地解决内存泄漏问题的方法。...但是,我非常确定大多数不凡的 SPA 都会泄漏内存,除非它们背后的团队拥有强大的基础结构来捕获和修复内存泄漏。用 JavaScript 太容易了,以至于不小心分配了一些内存而忘了清理它。...(如果 Promise 从未得到解决或拒绝,则可能会泄漏,在这种情况下,附加到它的任何 .then() 回调都会泄漏。) 全局对象存储。...当然,还有许多其他导致泄漏内存的情况,但这些是最常见的。 识别内存泄漏 这是困难的部分。首先我要说的是,我认为那里的任何工具都不是很好。...当什么东西泄漏时,是因为你想要得到香蕉,但是最终得到的是香蕉、拿着香蕉的大猩猩以及整个丛林。如果你基于总字节数进行衡量,那么你所衡量的是丛林,而不是香蕉。 ?

    3.3K30

    由浅入深,聊聊 LeakCanary 的那些事

    引言关于内存泄漏,Android 开发的小伙伴应该都再熟悉不过了,比如最常见的静态类间接持有了某个 Activity 对象,又比如某个组件库的订阅在页面销毁时没有及时清理等等,这些情况下多数时都会造成内存泄漏...基础概念在开始之前,我们还是要解释一些常见的基础问题,以便更好的理解本篇。什么是内存泄漏?当我们App无法释放不需要的对象引用时,即为内存泄漏。也可以理解为,生命周期长的持有了生命周期短的对象所导致。...;stream 流忘记关闭;…LeakCanary 使用方式关于 LeakCanary 的使用方式,新手小伙伴可以从 官方文档 得到更多,这里仅仅只是作为一个简单概要。...如果 app 在使用中出现内存泄漏并且达到一定数量时,其会自动弹出一个通知,提示我们进行内存泄漏分析。当点击通知后,LeakCanary 会进行泄漏堆栈分析,并将其显示到 Leask 的泄漏列表中。...当我们弱引用中所持有的对象被回收时,即相当于我们弱引用本身也没有用了,此时,java会将我们当前的弱引用对象,添加到我们所传递的队列(queue)中去。

    47340

    Android 中常见的内存泄漏

    本文主要是从网络中搜索汇总一些常见的内存泄漏,一方面自己应对校招,另一方面以后自己写代码时也会注意这些问题。...1.6 Threads和TimerTask Threads和Timer导致内存泄漏的原因跟内部类一样。虽然在新的线程中创建匿名类,但是只要是匿名类/内部类,它都会持有外部类引用。...2 集合对象造成的泄漏 当我们定义一个静态的集合类时,请注意,这可能会导致内存泄漏!前面我们提到过,静态变量所引用的对象是不会被回收掉的。而我的静态集合类中,包含有大量的对象,这些对象不会被回收。...另外,如果集合中保存的对象又引用到了其他的大对象,如超长字符串、Bitmap、大数组等,很容易造成OOM。 3 资源对象没关闭造成内存泄漏 当我们打开资源时,一般都会使用缓存。...当我们不再使用时,应该关闭它们,使得缓存内存区域及时回收。虽然有些对象,如果我们不去关闭,它自己在finalize()函数中会自行关闭。但是这得等到GC回收时才关闭,这样会导致缓存驻留一段时间。

    82080

    测试左移之代码评审

    一般开发都会在程序入口处进行参数的判空,不过这样还不够。严格意义上,任何一个对象在使用前都应该进行判空处理。 如下代码片断所示,一些开发同事习惯当传入参数为空时,直接返回一个空的对象。...4、内存泄漏 当程序偶尔出现莫名其妙的卡顿或异常,又或者Crash上报出现OOM异常时,那作为测试人员就该意识到程序有内存泄漏了。...内存泄漏除了通过专门的测试方法来测试外,也可以通过代码Review来发现。...对QQ浏览器的内存泄漏测试发现的Bug原因分析,发现导致内存泄漏最频繁的原因不是图片资源或者IO流(Stream)未释放,而是注册了事件未取消注册引起的内存泄漏。...针对内存泄漏的情况,我一般会Review以下几种常见情况: (1)对象如果注册了事件回调,是否在合理的地方进行了反注册; (2)线程对象使用完毕是否正常的结束; (3)各种数据库、网络连接和文件IO

    1.3K10

    【专业技术】Android内存泄漏简介

    Android为不同类型的进程分配了不同的内存使用上限,如果程序在运行过程中出现了内存泄漏的而造成应用进程使用的内存超过了这个上限,则会被系统视为内存泄漏,从而被kill掉,这使得仅仅自己的进程被kill...1.2、集合容器对象没清理造成的内存泄露 我们通常把一些对象的引用加入到了集合容器(比如ArrayList)中,当我们不需要该对象时,并没有把它的引用从集合中清理掉,这样这个集合就会越来越大。...1.5、WebView对象没有销毁 当我们不要使用WebView对象时,应该调用它的destory()函数来销毁它,并释放其占用的内存,否则其占用的内存长期也不能被回收,从而造成内存泄露 1.6、GridView...因为有些资源性对象,比如SQLiteCursor(在析构函数finalize(),如果我们没有关闭它,它自己会调close()关闭),如果我们没有关闭它,系统在回收它时也会关闭它,但是这样的效率太低了。...因此对于资源性对象在不使用的时候,应该调用它的close()函数,将其关闭掉,然后才置为null.在我们的程序退出时一定要确保我们的资源性对象已经关闭。

    1.1K30

    C语言最大难点揭秘~!

    更糟的是,如果按我的思路考虑,当今的许多 C 和 C++ 程序员可能都会认为内存错误是不可控制而又神秘的顽症,它们只能纠正,无法预防。 但事实并非如此。...除非 local_log()对 free()释放的内存具有不寻常的响应能力,否则每次对 f1的调用都会泄漏 100 字节。...在记忆棒增量分发数兆字节内存时,一次泄漏是微不足道的,但是连续操作数小时后,即使如此小的泄漏也会削弱应用程序。...它的好处是任何此类错误都会被快速地检测到;与花费数月时间才能确定且难以再现的错误相比,检测此类错误的代价要小得多。 在此错误类型中存在多个变种。...下面我们介绍一下您可以采用的几个特定步骤;我在各种组织中处理它们的经验是,至少可以按一定的数量级持续减少内存错误。 ▶ 编码风格 编码风格是最重要的,我还从没有看到过其他任何作者对此加以强调。

    7113229

    Dropbox 如何解决 Android App 的内存泄漏问题?

    只要服务存在,FragmentView 和 Activity 都会浪费内存 检测内存泄漏 现在,我们已经知道了内存泄漏是如何发生的。让我们讨论下如何检测它们。...内存泄漏可能发生在任何地方,记录的崩溃并不没有指向泄漏,而是指向最终提示内存使用超过限制的屏幕。 你可以检查所有的面包屑控件,看看它们是否有一些相似之处,但很可能罪魁祸首并不容易识别。...下一次,我们安装和运行我们的应用时,LeakCanary 将与它一起运行。当我们在应用中导航时,LeakCanary 会偶尔暂停以转储内存,并提供检测到的泄漏痕迹。 这个工具比我们之前的方法要好得多。...在 CI 上运行 LeakCanary 帮助我们学到了更好的编码模式,特别是涉及到新的库时,在任何代码进入生产环境前。...取而代之,让我们回顾一下我自己经常要处理的两类内存泄漏。

    1.1K10

    jvm之垃圾回收相关概念解读

    当然,也不是在任何情况下垃圾收集器都会被触发的 比如,我们去分配一个超大对象,类似一个超大数组超过堆的最大值,JVM可以判断出垃圾收集并不能解决这个问题,所以直接抛出OutOfMemoryError。...尽管内存泄漏并不会立刻引起程序崩溃,但是一旦发生内存泄漏,程序中的可用内存就会被逐步蚕食,直至耗尽所有内存,最终出现OutOfMemory异常,导致程序崩溃。...一些提供close的资源未关闭导致内存泄漏 数据库连接(dataSourse.getConnection() ),网络连接(socket)和io连接必须手动close,否则是不能被回收的。...停顿产生时整个应用程序线程都会被暂停,没有任何响应,有点像卡死的感觉,这个停顿称为STW。 可达性分析算法中枚举根节点(GC Roots)会导致所有Java执行线程停顿。...安全区域是指在一段代码片段中,对象的引用关系不会发生变化,在这个区域中的任何位置开始Gc都是安全的。我们也可以把Safe Region看做是被扩展了的Safepoint。

    28230

    【前端技能树-需要避免的坑】Javascript 开发者容易在花田里犯的错

    内存泄漏 内存泄漏在 JavaScript 中几乎是不可避免的问题。它们发生的方式有很多种,因此这里我只想向你强调两种更常见的情况。...看起来每次调用 replaceThing 时我们都会泄漏longStr。但是这是为什么呢?...每一秒钟,当我们调用replaceThing 时,它都会保存一个对 priorThing 中先前的 theThing 对象的引用。...但是,一旦某个变量被任何闭包使用,它就会进入该范围内所有闭包共享的词法环境中。正是这个细微差别导致了这种严重的内存泄漏。...换句话说,当且仅当 GC 认为对象不可访问时,对象才会从内存中删除。不幸的是,很容易得到不再使用的“僵尸”对象,但 GC 仍然认为它们是可访问的。

    19911

    Dropbox 是如何解决 Android App 的内存泄漏问题的?

    image.png 只要服务存在,FragmentView 和 Activity 都会浪费内存 检测内存泄漏 现在,我们已经知道了内存泄漏是如何发生的。让我们讨论下如何检测它们。...image.png 这种方法只告诉你存在的问题,而不是根本原因。内存泄漏可能发生在任何地方,记录的崩溃并不没有指向泄漏,而是指向最终提示内存使用超过限制的屏幕。...下一次,我们安装和运行我们的应用时,LeakCanary 将与它一起运行。当我们在应用中导航时,LeakCanary 会偶尔暂停以转储内存,并提供检测到的泄漏痕迹。 这个工具比我们之前的方法要好得多。...在 CI 上运行 LeakCanary 帮助我们学到了更好的编码模式,特别是涉及到新的库时,在任何代码进入生产环境前。...取而代之,让我们回顾一下我自己经常要处理的两类内存泄漏。

    95930

    .NET Core中间件与依赖注入的一些思考

    关于中间件的生命周期是Singleton的? 怎么避免中间件、Singleton服务中使用Scoped服务不产生内存泄漏?...文章中我就不做过多的代码介绍,主要是对代码片段的解释,有需要的可以看源代码[2] 开始运行: dotnet run 会注意到中间件构造中注入的服务会在项目启动完成前就会创建完成。...生命周期控制台输出: 分析总结: Scoped服务请求中只会创建一次并且请求完成后释放 Transient服务每一次都会重新创建并且请求完成后全部释放 Singleton整个应用程序周期内只会创建一次并且直到应用程序关闭时才会释放...控制台输出: 分析总结:中间件构造中注入scoped服务时会跟随根容器的释放才会释放,相当于说就是会在整个应用程序生命周期中存在,所以也就容易导致内存泄漏。...下面进行验证: 分析总结: 从图中画线中能看出请求完成后只有invoke方法中的scoped\transient服务释放了,中间件构造中的任何类型服务都不会得到释放,所以需要在中间件使用 关于非singleten

    1K51

    Java内存泄漏解决之道

    Java中的内存泄漏类型 在任何应用程序中,由于多种原因都可能发生内存泄漏: 1. 静态字段 可能导致潜在内存泄漏的第一种情况是大量使用静态变量。...但是当我们离开populateList()所在的调试点3时,堆内存还没有被垃圾收集。...最大限度地减少静态变量的使用 使用单例时,依赖于延迟加载对象而不是急切加载的实现 2. 未关闭的连接池资源 每当我们建立新连接或打开流时,JVM都会为这些资源分配内存。...在任何一种情况下,资源留下的开放连接都会消耗内存,如果我们不处理它们,它们可能会降低性能,甚至可能导致OutOfMemoryError。 如何预防呢?...始终使用finally块来关闭资源 关闭资源的代码(甚至在 finally块中)本身不应该有任何异常 使用Java 7+时,我们可以使用try -with-resources块 3.

    1.5K21

    了解Java中的内存泄漏

    Java中内存泄漏类型 在任何应用程序中,数不清的原因可能导致内存泄漏。在本节中,我们将讨论最常见的问题。...直到调试点的第一部分几乎与我们在static情况下获得的部分相同 。但这次当我们离开populateList()方法,列表中所有的内存都被垃圾回收掉了,因为我们没有任何对他的引用。...最大限度地减少静态变量的使用 使用单例时,依赖于延迟加载对象而不是立即加载的方式 3.2 未关闭的资源导致的内存泄漏 每当我们创建连接或打开一个流时,JVM都会为这些资源分配内存。...始终使用finally块来关闭资源 关闭资源的代码(甚至在 finally块中)本身不应该有任何异常 使用Java 7+时,我们可以使用try -with-resources块 3.3 不正确的equals...现在,当我们创建一个内部类的对象时,内存模型如下所示: ? 但是,如果我们只是将内部类声明为static,那么相同的内存模型如下所示: ?

    1.9K20

    Android-App性能优化

    如果某个操作花费的时间是 24ms ,系统在得到 VSYNC 信号时就无法正常进行正常渲染,这样就发生了丢帧现象。...在暖启动中,系统都会把你的Activity带到前台。...集合类泄漏 单例/静态变量造成的内存泄漏 匿名内部类/非静态内部类 资源未关闭造成的内存泄漏 解决方式: 比如我们的List集合add()元素之后,会引用着集合元素对象,导致该集合中的元素对象无法被回收...当我们的List集合没有用的时候,一定要 list.clear() list=null 针对单例引起的内存泄漏,通常是由于引用的context是生命周期短造成的,也就是说生命周期长的持有了生命周期短的引用...匿名内部类或非静态内部类导致的内存泄漏,这个我们可以采用合理使用JAVA的引用机制来解决,我上一篇文章有详解,参考Android-强,软,弱,虚引用. 4.资源未关闭导致的内存泄漏就比较好说了,我们平时要多检查

    2.2K40

    Java基础面试题【六】线程(2)

    举例,GC垃圾回收线程:就是一个经典的守护线程,当我们的程序中不再有任何运行的Thread,程序就不会再产生垃圾,垃圾回收器也就无事可做,所以当垃圾回收线程是JVM上仅剩的线程时,垃圾回收线程会自动离开...应用场景: 来为其它线程提供服务支持的情况; 或者在任何情况下,程序结束时,这个线 程必须正常且立刻关闭,就可以作为守护线程来使用;反之,如果一个正在执行某个操作的线程必须要正确地关闭掉否则就会出现不好的后果的话...如果想取消强引用和某个对象之间的关联,可以显式地将引用赋值为null,这样可以使JVM在合适的时间就会回收该对象。 弱引用:JVM进行垃圾回收时,无论内存是否充足,都会回收被弱引用关联的对象。...的key为强引用回收ThreadLocal时,因为ThreadLocalMap还持有ThreadLocal的强引用,如果没有手动删除,ThreadLocal不会被回收,导致Entry内存泄漏。...因此,ThreadLocal内存泄漏的根源是:由于ThreadLocalMap的生命周期跟Thread一样长,如果没有手动删除对应key就会导致内存泄漏,而不是因为弱引用。

    18710
    领券