gpt4 book ai didi

android - 使用自定义字体为 TextView 设置动画会导致字体缓存繁重的工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:19:28 31 4
gpt4 key购买 nike

我有一个 TextView,我为其注册了以下动画:

mScaleAnimation = new ScaleAnimation(1f, 1.2f, 1f, 1.2f,
mReferenceTextView.getWidth() / 2, mReferenceTextView
.getHeight() / 2);
mScaleAnimation.setRepeatCount(Animation.INFINITE);
mScaleAnimation.setRepeatMode(Animation.REVERSE);
mScaleAnimation.setDuration(500);

它工作正常,看起来很酷 :)

我唯一担心的是以下几点:当我查看 logcat 时,它完全无法使用,因为只要动画还在运行,我就会不断地每秒多次获取这些日志 :(

06-20 17:50:05.555: DEBUG/skia(14179): purging 213K from font cache [7 entries]
06-20 17:50:05.750: DEBUG/skia(14179): purging 196K from font cache [7 entries]
06-20 17:50:05.870: DEBUG/skia(14179): purging 202K from font cache [8 entries]
06-20 17:50:05.995: DEBUG/skia(14179): purging 190K from font cache [8 entries]

TextView 使用自定义字体/字体(otf 格式)。

知道是什么导致了字体缓存的繁重工作吗?

最佳答案

我相信您的缓存正在被杀死,因为您正在生成大量的 TypeFace 对象。我猜这是在预 ICS 版本上?有一个 bug持有 TypeFaces 并且没有正确释放它。因此,当您制作动画时,它会不断为每个位置创建新对象,并且它们会泄漏并且永远不会被清理。

我发现有人建议使用 HashMap 创建 TypeFace 缓存。您可以查看这篇文章了解更多详情。 Custom fonts and XML layouts (Android)

关于android - 使用自定义字体为 TextView 设置动画会导致字体缓存繁重的工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6413974/

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