我正在使用大型数组(每个数组有很多MB),但是在任何时候只有一个数组 - 一个被放置,另一个被创建以代替它。它们长度不等,但长度确实有一个上限。为阵列/缓冲区保留空间以供重复使用
而不是每次都分配一个新的数组,有没有办法为最大的数组分配空间(我可以找到)并使用创建每个新数组所需的任何长度。我不能使用完全相同的数组并使用一个变量作为长度,因为我需要将该数组提供给其他我不控制的方法,这些方法需要与其中包含的数据的长度完全相同(这是不恒定)。我记得读过一些可以做到这一点的课程,我们要求它提供一个缓冲区,然后将它返回到课程中。
哪里是“创造一个新的*每次*”进入呢?你能不能把范围移动到单例,比如'App'? –
@RowlandShaw正如我写的'我不能使用完全相同的数组,因为它的大小并不总是恒定的。 – ispiro
因此,如果它不总是恒定的,它必须包含不同的数据,在这一点上,你必须坚持/分解数据,所以你希望实现什么?对于我们看不见的代码,我们不可能提出改进建议(所以我们不知道数组大小的启发式方法,或者保持缓存是否可行) –