Я разрабатываю приложение для Android, и, естественно, у меня есть много классов, на которых представлены виды на экране. Теперь у меня есть этот простой метод DpToPx (INT) здесь, что я видел в другом месте на StackOverflow:Многие классы, которые имеют один и тот же метод или один класс, который имеет метод и наследуется другими классами?
private int dpToPx(int dp){
DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, displayMetrics);
}
Я использую это, чтобы обеспечить какую-то последовательность расположения на различных устройствах разрешение экрана. Что лучше -
Чтобы использовать этот метод в каждом классе, который отображает представления или делает его интерфейсом, который реализуются всеми классами?
Специально в плане памяти и удержания объекта (AFAIK иногда лучше повторять один и тот же метод по классам, чем отдельный объект). Но когда это более двух классов?
Если метод является фиксированной и только делает одну конкретную задачу, которую вы могли бы иметь его в качестве статического метода , который будет доступен из всех ваших классов. – MiKE
.... в дополнение к комментарию MiKE: конечно, вы должны передать контекст с помощью аргумента метода – Selvin
@MiKE Я попробовал это, но getResources() - это нестатический метод, к которому нельзя получить доступ из статического контекста – zelle