Заметки программиста: Разработка компонента TexXEditor
Sunday, January 15, 2012 12:58:37 PM
Мой компонент TexXEditor для того чтобы отобразить фаил на экране, сначала считывает все данные из фаила в память, точнее в массив. До сих пор я использовал статический массив. Его размер был записан на этапе разработки, 500 столбцов и 1000 строк.
ограничение размера TexX-фаила. Самое смешное начиналось при его очистке. Вот смотрите, открыл я первый фаил, а потом хочу открыть второй. Перед открытием второго нужно очистить массив данных, иначе вся информация может перемещаться. Я долго не мог найти быстрый и качественный способ очистки массива. Способ был либо медленный либо приводил к утечки памяти. Таким образом после очистки массива данных, программа в оперативной памяти занимала около 250 мегабайт
).
Теперь я переделал статические массивы в динамические. Тоесть я не задаю на этапа разработки размер массива, размер его задается при открытие фаила. Если я открываю фаил с 10ю столбцами и 20ю строкамию, зачем мне массив размером 500 на 1000? Не зачем. Теперь массив создается именно под размер фаила. Что экономит память. Кроме того динамический массив легко очистить.
Еще один маленький шажок к компоненту TexXEditor и новой версии редактора TexEdit
ограничение размера TexX-фаила. Самое смешное начиналось при его очистке. Вот смотрите, открыл я первый фаил, а потом хочу открыть второй. Перед открытием второго нужно очистить массив данных, иначе вся информация может перемещаться. Я долго не мог найти быстрый и качественный способ очистки массива. Способ был либо медленный либо приводил к утечки памяти. Таким образом после очистки массива данных, программа в оперативной памяти занимала около 250 мегабайт
).Теперь я переделал статические массивы в динамические. Тоесть я не задаю на этапа разработки размер массива, размер его задается при открытие фаила. Если я открываю фаил с 10ю столбцами и 20ю строкамию, зачем мне массив размером 500 на 1000? Не зачем. Теперь массив создается именно под размер фаила. Что экономит память. Кроме того динамический массив легко очистить.
Еще один маленький шажок к компоненту TexXEditor и новой версии редактора TexEdit








