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

Лидеры

  1. Barbanel

    Barbanel

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


    • Баллы

      3

    • Постов

      414


  2. CyberStorm

    CyberStorm

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


    • Баллы

      2

    • Постов

      63


  3. Slym

    Slym

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


    • Баллы

      2

    • Постов

      180


  4. Voron

    Voron

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


    • Баллы

      2

    • Постов

      7


Популярный контент

Показан контент с высокой репутацией 10.12.2019 во всех областях

  1. Большое количество - это сколько? 100, 100 000, 100 000 000? Каждый раз увеличивая размер на один элемент, менеджер памяти ищет непрерывный незанятый кусок памяти такой длины, чтобы уместить все элементы. Хорошо если место под уже выделенный массив позволяет увеличить размер, не упираясь в участики памяти занятые другими данными. Иногда после очередного увеличения массива, уже выделенного участка памяти более не хватает. В таком случае менеджеру приходится искать новый, и копировать старые данные в новый участок памяти, а старый участок помечать как свободный. Разумеется это занимает время. Именно это и приводит к "не так быстро, как хотелось бы". Чтобы избежать этого: 1 Способ курильщика, простой: Увеличиваем размер массива не на 1 элемент, а сразу на 16/32/128/1024 элемента (вам виднее, в зависимости от того сколько у вас может быть элементов в массиве). Также заводим счетчик - номер последнего занятого элемента в массиве, и после каждого добавления - увеличиваем этот счетчик на единицу. Этот способ не избавит от проблемы, но будет приводить к менее частому перераспределению памяти. 2 Способ здорового человека, чуть сложнее: используйте указатели. Заведите массив указателей (либо TList), выделяйте место под каждую новую запись (ваш record) вручную, и помещайте указатель на него в ваш массив указателей (или в TList). Не забывайте освобождать выделенную память, когда ваши обьекты больше не нужны. Этот спобоб более правильный, так как в этом случае перераспределение происходит очень редко. Кстати, реализация TList использует внутри себя первый способ.
    3 балла
  2. Спасибо! Это мне помогло. Была ошибка "java class jadsize could not be found". Решение: Target platforms->Android->Libraries, в появившемся меню выбрать Revert System Files to Default. Вдруг кому пригодится.
    2 балла
  3. /////////// реклама //////////////////// try BannerAd1.AdUnitID := bkey; BannerAd1.LoadAd; except on E : Exception do ShowMessage(E.Message); end; вот используйте, ошибку напишет
    2 балла
  4. Wolfone

    TEdit искажает текст

    Решил проблему, все компоненты должны быть четные по высоте и ширине, и как выше было описано на всех формах fill.kind = none. Может кому пригодиться
    1 балл
  5. Slym

    TEdit искажает текст

    Данный артефакт я тоже ловил на лабелах - лечится именно восстановлением фона. (хотя эм могла гденить еще косячнуть) Во всех формах надо убрать фон (возможно ты используешь несколько форм)... В чистом проекте артефакт есть? сделай полный билд, передерни эм делфи, кофе попей...
    1 балл
  6. Slym

    TEdit искажает текст

    УБЕРИ ФОН С ФОРМЫ: фон делай отдельным Rectanglом - там любой цвет кроме шрифтов всплывет и другое читать тут:
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...