Мне нужно создавать новый шрифт каждый раз, когда происходит изменение в настройках шрифта приложения (Live Wallpaper).
Для этого я создаю шрифт в onSharedPreferenceChanged () в движке обоев, таким образом:
public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
typeface = prefs.getString("customize_font_settings", "MyFont.ttf");
AssetManager assmManager = App.getContext().getAssets();
font = Typeface.createFromAsset(assmManager, typeface);
Где App.getContext (). GetAssets () относится к статическому экземпляру, чтобы правильно получить AssetManager.
Дело в том, чтокаждый раз onSharedPreferenceChanged () создается новый экземпляр AssetManager, благодаря чему он легко переполняет память.
Как создать ОДИНОЧНЫЙ экземпляр AssetManager, который останется неподвижным и не будет клонировать сам себя