Эксперименты с мидлетом
Както раз решил поподробнее узнать возможности своего телефона (а заодно и мидлета).
И решил провести эксперименты. Опыт 1. Возьмем картинку размерами 3000x3000. Просто белый квадрат. Сохраняем в пнж с минимальным количесвтом цветов , чтобы получить максимальное сжатие. Полученный размер картинки - около 8 килобайт. Создаем простейший мидлет, который эту картинку грузит (img:=loadimage('/123.png'); Компилируем, скидываем на телефон и запускаем. Сразуже выбивает ошибку "OUT OF MEMORY", что означает нехватки памяти. ВЫВОД: если картинка весит 8 килобайт, то это не значит что она и в памяти (какбэ оперативной - у мобильника в качестве оперативки используется обычная память телефона) она будет занимать 8 килобайт. Дело в том, что для пущего быстродействия мидлет "распаковывает" пнж в простой битмап образ. Чтобы при каждом обращении к картинке не пришлось распаковывать картинку заново. Опыт 2. Возьмем и засунем в мидлет файл большого размера (например 2 мегабайта). Проверить, что случится при запуске, не удалось - телефон даже не запустил мидлет: "испорченное приложение". Видно, не нравится сам размер файл. Ладно, скинем пнж размером 600 кб. Скидываем. Мидлет запустился. Теперь попробуем загрузить картинку в память. Выкидывает с ошибкой. ВЫВОД: картинка преобразуется в битмап образ только при загрузке. Если же картинка просто будет лежать в архиве - это не страшно. Опыт 3: что выгоднее - хранить картинки по отдельности или создать 1 большую картинку, а потом вырезать с помощью imagefromimage? Что будет весить меньше: сумма картинок или один тайлсет? Было отобрано 25 картинок. Эксперимент показал, что выгоднее иметь один тайлсет, чем множество картинок, где то на 50%. Правда, при большом размере тайлсета может уменьшится качество, так как количество цветов может превысить 256 и придется уменьшать его до 256. Выход - разделить тайлсет на несколько, и сгруппировать в одном тайлсете тайлы одного тона (например, в одном тайлсете - цветные, в другом - монохромные). В следующий раз я проведу еще пару опытов. Спасибо за прочтение! |
Ответ: Эксперименты с мидлетом
Цитата:
Цитата:
Цитата:
|
Ответ: Эксперименты с мидлетом
Цитата:
Не возьмусь судить о специфике адресации и хранения файлов в трубках. |
Ответ: Эксперименты с мидлетом
|
Ответ: Эксперименты с мидлетом
Цитата:
Например, на телефонах SE в приложениях используется режим 65536 цветов и 32 ступени прозрачности, т.е. R - 5 bit, G - 6 bit, B - 5 bit, A - 5 bit, всего 21 bpp. Вот так :dontknow: Проверено с помощью Java Info от Gray Wolf & Odd |
Ответ: Эксперименты с мидлетом
Вложений: 2
вот только сейчас узнал: эти две картинки практически одинакового размера, разница 53 байта, а вот пустое прозрачное поле в некоторых случаях существенно упрощает отрисовку - не надо брать поправок по х и у.
(Чтобы увидеть разницу выделить картинки) |
Часовой пояс GMT +4, время: 02:49. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot