我正在使用大型數組(每個數組有很多MB),但是在任何時候只有一個數組 - 一個被放置,另一個被創建以代替它。它們長度不等,但長度確實有一個上限。爲陣列/緩衝區保留空間以供重複使用
而不是每次都分配一個新的數組,有沒有辦法爲最大的數組分配空間(我可以找到)並使用創建每個新數組所需的任何長度。我不能使用完全相同的數組並使用一個變量作爲長度,因爲我需要將該數組提供給其他我不控制的方法,這些方法需要與其中包含的數據的長度完全相同(這是不恆定)。我記得讀過一些可以做到這一點的課程,我們要求它提供一個緩衝區,然後將它返回到課程中。
哪裏是「創造一個新的*每次*」進入呢?你能不能把範圍移動到單例,比如'App'? –
@RowlandShaw正如我寫的'我不能使用完全相同的數組,因爲它的大小並不總是恆定的。 – ispiro
因此,如果它不總是恆定的,它必須包含不同的數據,在這一點上,你必須堅持/分解數據,所以你希望實現什麼?對於我們看不見的代碼,我們不可能提出改進建議(所以我們不知道數組大小的啓發式方法,或者保持緩存是否可行) –