Вопрос

Я работаю над приложением, в котором я рисую несколько прямоугольников на экране, а затем нужно будет манипулировать фигурами (изменять их размер, расположение).Я пытался что-то сделать с .drawRect и очищать фигуру каждый раз, когда я манипулировал с ней, но использование оперативной памяти увеличивалось, а затем падало (предположительно, потому, что я продолжаю повторно инициализировать новый компонент, а затем удалять его, и сборщик мусора очищал его).Это, вероятно, не самый эффективный способ сделать это.

Есть ли у меня способ просто создать фигуру один раз, а затем переместить ее на холст (и изменить ее ширину и высоту без использования всей этой оперативной памяти?

Это было полезно?

Решение

Если все, что вы делаете, это изменяете его смещения и регулируете его ширину и высоту без необходимости фундаментального изменения структуры фигуры (например, закругление углов прямоугольника какого-либо из них), вы можете просто сохранить ссылку на Shape и настройте ее свойства x, y, scaleX, scaleY для внесения изменений.

Другие советы

Ты можешь попробовать Деградация нарисовать прямоугольник.

Чтобы переместить прямоугольник:

  • Изменение свойств x и y или высоты и ширины фигуры
  • Использование эффекта гибкого перемещения
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top