Каким образом можно оптимизировать прогу, чтобы она не жрала много памяти? Какие переменные, функции или графика, или еще что влияет на знимаемую память больше всего.
Поделитесь опытом.
alibek писал(а):1. Не используй Boolean, на самом деле она занимает два байта в памяти (а не один бит).
2. Не используй Byte.
3. Не используй Variant.
4. Не используй Single и Double, если без них можно обойтись.
5. Не используй массивы.
6. Не используй Long, когда можно обойтись Integer.
7. Не используй нестандартные контролы, в большинстве случаев достаточно тех, которые являются стандартными.
8. Не используй PictureBox, если достаточно Image.
9. Старайся по возможности снизить "глубину" вызова процедур.
и 10. Не используй VB Пиши на более низкоуровневом языке.
1. Не используй Boolean, на самом деле она занимает два байта в памяти (а не один бит).
2. Не используй Byte.
3. Не используй Variant.
4. Не используй Single и Double, если без них можно обойтись.
5. Не используй массивы.
7. Не используй нестандартные контролы, в большинстве случаев достаточно тех, которые являются стандартными.
8. Не используй PictureBox, если достаточно Image.
9. Старайся по возможности снизить "глубину" вызова процедур.
и 10. Не используй VB Пиши на более низкоуровневом языке.
6. Не используй Long, когда можно обойтись Integer.
Integer - целые числа - 2 байта - значения [-2^15 ; 2^15-1]
Long - целые числа - 4 байта - значения [-2^31 ; 2^31-1]
Single - вещественны числа одинарной точности - 4 байта - [-2^128 ; -2^-149] и [2^-149 ; 2^128-1]
Double - вещ числа двойной точности - 8 байт - [-2^-1024 ; 2^1024-1]
Currency - вещ числа (целая часть до 15 цифр, дробная до 4) - 8 байт - [2^63*10^-4 ; (2^63-1)*10^-4]
String - текст - по байту на символ - до 2^16 символов для строк фиксированной длины, до 2^31 символов для динамических строк
Byte - целые чилса - 1 байт - [0 ; 2^8-1]
Boolean - логич знач - 2 байта - [true ; false]
Date - дата и время - 8 байт - [1.01.100 ; 31.12.9999]
Object - объект - 4 байта - ссылка на объект
Variant - любая - 16+ (для каждого символа) байтов - диапозон не определён
X-BOND писал(а):6. Не используй Long, когда можно обойтись Integer.
Но, кстати, в той статейке советуют именно LONG.
X-BOND писал(а):Еще такой вопрос. Загружаю проект. (через Sub Main) Прога сразу еста 4 метра. После гружу форму. Плюс еще два метра. Выгружаю форму и... 6 метров так и осталось. Как можно освободить память?
X-BOND писал(а):Еще такой вопрос. Загружаю проект. (через Sub Main) Прога сразу еста 4 метра. После гружу форму. Плюс еще два метра. Выгружаю форму и... 6 метров так и осталось. Как можно освободить память?
X-BOND писал(а):Зато обнаружил интересный феномен. Если форму не выгружать, а просто свернуть, то раpмер проги сразу снижается до 1.5Mb
Наверно это особенность VB или системы.
Может есть какие нибудь мысли по этому поводу?
Сейчас этот форум просматривают: SemrushBot и гости: 57