gpt4 book ai didi

android - 在 assets/fonts 文件夹中导入 roboto 字体后,我的应用程序滚动非常糟糕

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:51:52 24 4
gpt4 key购买 nike

我的应用程序运行 android Ice Cream Sandwich ,在字体文件夹中导入 roboto.ttf 和 roboto-bold.ttf 字体并使用这些字体设置四个 TextView 后,滚动 ListView 时非常(非常)慢。有谁知道优化性能的方法?有什么提示和技巧可以提高速度吗?

我澄清在插入这几行代码之前是非常顺利的:

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");

但结果是一样的...

最佳答案

您可以尝试缓存您的字体

public class TypefaceCache {
private final HashMap<String, Typeface> map =
new HashMap<String, Typeface>();

private Typeface getTypeface(String file, Context context) {
Typeface result = map.get(file);
if (result == null) {
result = Typeface.createFromAsset(context.getAssets(), file);
map.put(file, result);
}
return result;
}
}

关于android - 在 assets/fonts 文件夹中导入 roboto 字体后,我的应用程序滚动非常糟糕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11237214/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com