Android LiveData<列表<>>与列表<>内存大小比较



所以我一直在更深入地阅读LiveData,我的好奇心被激发了。LiveData可以包含任何内容的列表,但就内存分配而言,这与常规List相比如何。我知道一般来说,这取决于存储的内容。如果只有1个浮点和100个int,则List<int>可以大于List<float>

但是,举个例子,假设我有一个由10个电话号码组成的LiveData<List<int>>和一个相同电话号码的List<int>LiveData会占用更多内存吗?

我知道LiveData在保持UI更新方面有一个特定的目的(我可能没有准确地阐述这一点(,并且需要Observer,而普通的List更容易使用,但不能满足LiveData所满足的需求。

还是现在大多数设备都有足够的内存,这基本上是一个没有意义的问题?

LiveData会占用更多内存吗?

对于相同的基础列表,是。它总是会占用它所包含的数据之外的一些空间。查看源代码,了解它在包含的数据对象上实际添加了什么。

你可能想得太多了。如果你有内存不足的问题,几乎可以肯定不是因为任何LiveData。你的列表本身可能是更大的问题,而核心Android运行时的其他部分将使你的LiveData及其内容的大小相形见绌。

最新更新