В моем приложении я создаю класс LinearLayout, переопределяющий LinearLayout, чтобы программно устанавливать границы вокруг него и другие графики по требованию (т. Е. Заполнять пользовательский цвет). Проблема заключается в том, что в первой строке OnDraw я должен получить макет Rect следующим образом:Как избежать создания объекта Rect onDraw
@Override
protected void onDraw(Canvas canvas) {
r = canvas.getClipBounds() ;
Проблема заключается в том, что я получаю предупреждение: распределения объектов
Избегайте при вытяжке операций: Использование Canvas. getClipBounds (Rect) вместо Canvas.getClipBounds(), который выделяет временное Rect.
Хотя я понимаю, что приведенный выше код тратить ресурсы памяти, я не могу найти способ применить вместо Canvas.getClipBounds (Rect) сделать то же самое. Я был бы признателен, если бы кто-то указывал на меня, как сделать это более дружелюбно.
Заранее спасибо.
Так простое решение, спасибо. – Epaminondas
Добро пожаловать – Blackbelt