每次在应用程序(动态壁纸)字体首选项中发生更改时,我都需要创建一个新的字体。Android资产分配错误
要做到这一点,我在我的壁纸引擎创建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的SINGLE实例,该实例将保持不动,并且不会克隆自身?