Перейти к содержанию
Fire Monkey от А до Я

Alex7wrt

Пользователи
  • Постов

    508
  • Зарегистрирован

  • Посещение

  • Победитель дней

    31

Весь контент Alex7wrt

  1. Добрый день. Интересует как можно сделать, чтобы неактивный элемент (enabled=false) отображался в таком же виде как и активный (не менял свой цвет).
  2. Думал про это, но есть сомнения по поводу плавности прокрутки. Спасибо за совет! У меня не вылетает, а не всегда запускается.
  3. Картинки png. Через deploy используются двумя способами: 1. image.Bitmap.LoadFromFile('some.png'); - 2 штуки 2. it:=listview1.Items.Add; .................................. it.bitmap.LoadFromFile('some.png'); - 160 штук для списка в listview. Раньше делал через it.bitmapref:=png, что по-моему тоже самое. Просто тут массив картинок, на которые ссылаются битмапы item-ов в listview. А так как написано в пункте 2 - без массива, но у каждого итема свой собственный битмап. Еще есть 4 картинки, но они погоду не строят. Да, я загружаю в контейнеры listview (пункт 2) и в два timage (пункт 1). Картинки размером около 220 на 150 пикселей. Что в итоге дает 220*150*(160+2)*4 = 20 МБ. Если пункт 2 заменить на it:=listview1.Items.Add; ................................... b:=tbitmap.Create; b.LoadFromFile('some.png'); it.Bitmap:=b.CreateThumbnail(80,56); то экономится около 20 МБ памяти. При этом, приложение занимает 70 МБ, корме картинок больше ничего ресурсоемкого нет. По моим оценкам, оно должно занимать не более 20-30 МБ памяти .
  4. Когда деплою - ничего не меняется.Приложение занимает столько же памяти. Деплою в assets\internal.
  5. После оптимизации загрузки ресурсов "по надобности", использование RAM в Windows снизилось с 42 МБ до 12 МБ. При этом в Android с 73 до 60 МБ. По-моему это очень нелогично. Единственное объяснение, которое я нахожу, сводится к тому, что Android при запуске приложения грузит все ресурсы в оперативку, не зависимо от их вызова. А при загрузке ресурса в контейнер выделяет еще память. Приложение, которое весит 13 МБ, после установки занимает около 44 МБ в Android (думаю, PNG файлы ресурсов сразу конверитруются в BMP перед установкой). И почти все эти 44 МБ грузятся в RAM при каждом запуске, а остальное выделяется уже по коду. Кто-нибудь знает, так ли это и если так, то можно ли сделать, чтобы RAM под ресурсы выделялась только при их загрузке в самом коде? Может какая настройка в Delphi XE, отвечающая за ресурсы? Я такой не увидел.
  6. Правильно я понимаю, что после оптимизации приложение вылетать перестало? Логичный и хороший совет. Спасибо. Правда все-же хотелось бы как-то уменьшить объем занимаемой ими памяти.
  7. У меня все-равно запускается не с 1-го раза. Подробнее в исходной теме: http://fire-monkey.ru/topic/1053-chastye-sboi-prilozheniia-pri-popytke-zapuska-android/
  8. Прочитайте, раз уж спрашиваетеhttp://rsdn.ru/article/Delphi/Delphi_7_06.xml Спасибо.
  9. Попробовал с процедурой KillMe из этого модуля в FormClose. Результат - мне не помогло. Может этот способ помогает с закрытием приложений, но мои проблеммы,связанные с запуском, остались. Я тут обнаружил, что одно приложение занимает около 70МБ RAM. На смартфоне с 512 МБ RAM виснет при запуске ощутимо чаще, чем на планшете с 1024 МБ. (интересно, что было бы на девайсе с 256 МБ...). То есть возникла логическая цепочка по поводу слишком большых требований к RAM. Но изменение настроек LargeHeap в VersionInfo на True не помогает,(хотя и не хочется трогать этот параметр). Поэтому все так же теряюсь в догадках по поводу причины сбоев. Но простейшие приложения всегда запускаются без проблем. В этой связи, если все же догадки по поводу памяти верны, возникает такой вопрос: В приложении используются PNG изображения в качестве ресурсов. Сами по себе файлы, в которых всего несколько цветов, весят очень мало. Но, насколько я понимаю, при загрузке в tbitmap на каждый пиксель выделяется 4 байта (3 на цвета и 1 на прозрачность), то есть в памяти это изображение png хранится как полноцветный bmp с альфа-каналом? Если так, то на изображения уходит очень много памяти. Поэтому вот собственно и вопрос: есть ли способ хранить в RAM исходный png, а не BMP? Хотя, как я понимаю, изображение, закодированное таким образом, нельзя редактировать. Но неужели во всех приложениях с графикой в памяти все изображения хранятся как битмапы? Прошу тех, кто владеет темой, объяснить сей момент.
  10. А что означает цифро-буквенный код ['{97E59F4D-4739-4D2E-A4D8-F19BB6E474CB}'] и почему он именно такой?
  11. Несколько приложений, созданных в Delphi XE 7, не всегда корректно запускаются. Иногда запускаются нормально и работают очень долго, пока не зкароешь, а иногда не запускаются. Появляется заставка и на этом все заканчивается. Не могу понять в чем причина и в какую сторону копать. Приложения разные, но в обоих есть загрузка ресурсов. Но ресурсы не тянут на много. Максимум - до 10 МБ, причем в этом приложении процент неудачных загрузок намного меньше. Проверено на 2-х Android устройствах (сматрфоне и планшете). Прошу подсказать, в какую сторону смотреть. Может быть, как-то контролировать процесс запуска или еще что-то. Заранее спасибо.
×
×
  • Создать...