Тестировщик памяти
Вложений: 1
Простая до безобразия программа.:-D
Что она делает? Просто загружает в массив изображение размером 120х120 пикселей до тех пор, пока не закончится память, и приложение не завершится с ошибкой. Вверху указано число, которое указывает на число уже загруженных изображений. Исходя из того, что каждый пиксель занимает 4 байта, а изображение емеет размер 120х120, можно вычесть, что одно изображение занимает 57 600 байт. Результат моего телефона (NOKIA 5300) - 118 изображений (6 912 000 байт) А сколько у Вас? P.S. Предложения/критика приветствуются. |
Ответ: Тестировщик памяти
ох ши.. А шо нельзя было просто выделять память для интежеров (байтов) ??
А то прям целые картинки лупишь !! Ну а вообще хз мож и на мп так и нельзя)))) но выглядит решение стремно !! :) |
Ответ: Тестировщик памяти
То есть ошибка в твоей программе - удачное завершение работы?
И ты не придумал ничего лучше для определения свободной памяти? http://forum.boolean.name/showthread.php?t=6021 Одна функция - memory.free |
Ответ: Тестировщик памяти
Странное, очень странное решение. К тому же на разных телефонах изображения хранятся в разном формате. На более старых моделях не 32-битном.
Как мне кажется, freeMemory\totalMemory лучше определяют количество памяти на телефоне... http://yellow.orgfree.com/micro/mpinline/#memfree http://yellow.orgfree.com/micro/mpinline/#memtotal А выделять память под челочисленные можно, но опять таки только библиотекой или inline()ами в 3+ версиях. |
Ответ: Тестировщик памяти
Вообще данная программа предназначена, тобы протестировать, сколько изображений влезет в память.
Цитата:
Вот, например, java info говорит что в моем телефоне 2МБ памяти всего, а свободно - 600 Кб. Однако каким образом в 600 Кб влезло изображений суммой на 6 Мб? Это значит либо то, что функция работает не точно, либо то, что под каждый пиксель изображения выделяется не 4 байта, а меньше (зависит от телефона). Вместо того чтобы сидеть с калькулятором и гадать формат хранения изображений, нужно просто запустить прогу и примерно прикинуть, сколько изображений можно запихнуть в мидлет, чтобы он не сдох (учитывая переменные, классы и прочую лубеду). |
Ответ: Тестировщик памяти
самый простой способ определить цветность( бит/пиксель) это записать пограничный цвет например 1,1,1 в картинку а потом его прочитать. Цвет изменится до ближайшей границы цветности. Отсюда легко посчитать битность.
Например записали цвет 1,1,1 прочитав получили 8,8,8 Значит 256 / 8 = 32 цвета на канал. Т.е. 5бит на канал или 15бит на пиксель без альфы. т.е. 32к цветов. З.Ы. 15 бит скорее всего пакуются в 2 байта и занимают 16 бит. |
Ответ: Тестировщик памяти
Цитата:
|
Ответ: Тестировщик памяти
хм неужели в МП нет команд чтения/записи пикселей?
|
Ответ: Тестировщик памяти
plot (x,y) - вычерчивает пиксель в узанную точку.
Больше ничего связанного с пикселями нет :( |
Часовой пояс GMT +4, время: 03:31. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot