Плюсы и минусы, сохраняя статические ссылки на гарнитуру для повторного использования в макетах? - PullRequest
5 голосов
/ 03 апреля 2012

Я всегда ищу способы улучшить свои навыки разработки Android ... Отсюда и этот вопрос.

Предвидите ли вы какие-либо возможные недостатки или плюсы в отношении статического хранения шрифта для разных шрифтов, так как они используются приложением?


Плюсы:

  • Загрузите один раз везде.

Минусы:

  • Больше кучи использовано?

Мой кеер "TypeFace":

public static synchronized Typeface getFontType (String fontFile)
{
    if (!smTypefaces.contains(fontFile)) {
        try {
            Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "fonts/"+fontFile);
            if (null != tf) {
                // todo use maybe a weak reference?
                smTypefaces.put(fontFile, tf);
            }
        } catch (RuntimeException e) {
            e.printStackTrace();
        }
    }

    return smTypefaces.get(fontFile);
}

1 Ответ

2 голосов
/ 03 апреля 2012

Я делаю именно это, и у меня никогда не было проблем с памятью. Я создал класс с именем FontProvider, который лениво загружает статическую карту, где ключ является строковой константой, а значение является экземпляром Typeface. Я открываю карту с помощью метода get (String key), который возвращает ноль, если ключ отсутствует на карте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...