gpt4 book ai didi

android - View.removeAllViews() 是否释放内存?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:41:12 26 4
gpt4 key购买 nike

我在我的代码中遇到了 OutOfMemory 异常,所以我正在审查代码。

我有一个问题,View.removeAllViews() 是否会释放之前添加到该父 View 中的 subview 所使用的内存?

谢谢。

最佳答案

View.removeAllViews() 可能会释放 View ,并安排它们进行垃圾回收(这可能会在稍后发生)但是您可能仍然有问题,因为 XML 中的 @drawables 或带有“getDrawable()”的代码可能还是消耗内存。

我自己也经常遇到 OutOfMemory 错误,发现最大的问题不是 Layout XML 或 View 对象,而是它们加载的 Drawables 和资源(或者我加载以附加到它们。)

可以在 YouTube 上的 Google IO 2011 上找到关于此的精彩演讲:

http://www.youtube.com/watch?v=_CruQY55HOk

本次演讲介绍了如何使用 Eclipse MAT(内存分析工具)解决 OutOfMemory 异常问题。我建议这样做是因为你提到你正在审查代码,开始寻找 OutOfMemory 错误的最佳位置是......“什么占用了我的内存?”

关于android - View.removeAllViews() 是否释放内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2330496/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com