Quote:
Originariamente inviato da icecube_HU
Ciao !
Ho letto l'articolo della MS, conosco la tecnica, ma direi che NON si applica al tuo caso ! Li' Infatti si parla di manipolazione di grandi stringhe (ciascuna "pesante" svariati Kb), ma tu hai necessita' di manipolare molte stringhe, ma di dimensioni "normali" (stanno in una cella di Excel).
Comunque quella tecnica puo' servire ad aumentare la velocita' di elaborazione e a ridurre la "garbage collection", non a ridurre l'occupazione di memoria !
Quindi non farti troppi problemi e continua tranquillamente ad utilizzare l'operatore '&' per la concatenazione delle stringhe.
|
ciao
grazie per la risposta
il fatto è che volevo cmq cercare di ottimizzare la memoria,
il codice che ho postato sopra sta all'interno di un ciclo che convolge tutto lo sheet (che per me può arrivare anche a 65536 righe)
non riesco cmq a capire perchè, quando effettuo l'assegnazione della stringa construita da me
Codice:
ActiveSheet.Cells(i - 1, colScenario).Value = strTemp
viene allocata memoria, ma quando cancello la riga dopo così
la memoria non viene rilasciata, e quindi aumenta a dismisura....
ho provato anche a disabilitare la modalità tagliaCopia o a svuotare ogni volta manualmente la clipboard, ma nulla...
mah