アンドロイド アイス クリーム サンドイッチを実行しているアプリケーションは、roto.ttf および roboto-bold.ttf フォントを fonts フォルダーにインポートした後、これらのフォントで 4 つのテキストビューを設定した後、リストビューのスクロール中に非常に (非常に) 遅くなります。パフォーマンスを最適化する方法を知っている人はいますか? 速度を改善するためのヒントやコツはありますか?
これらのコード行を挿入する前は、非常にスムーズだったことを明確にします。
Typeface roboto = Typeface.createFromAsset(activity.getAssets(), "fonts/Roboto-Regular.ttf");
Typeface robotobold = Typeface.createFromAsset(activity.getAssets(), "fonts/Roboto-Bold.ttf");
nome.setTypeface(robotobold);
mq.setTypeface(roboto);
citta.setTypeface(roboto);
prezzo.setTypeface(roboto);
descrizione.setTypeface(roboto);
フォント キャッシュに役立つクラスを追加します。
public class TypefaceCache {
private final HashMap<String, Typeface> map;
private Context con;
public TypefaceCache(Context con) {
map = new HashMap<String, Typeface>();
this.con = con;
}
public Typeface getTypeface(String file) {
Typeface result = map.get(file);
if (result == null) {
result = Typeface.createFromAsset(con.getAssets(), file);
map.put(file, result);
}
return result;
}
}
クラスとフォントを呼び出します
TypefaceCache typecache = new TypefaceCache(activity);
Typeface roboto = typecache.getTypeface("fonts/Roboto-Regular.ttf");
しかし、結果は同じです...