作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个 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/
我是一名优秀的程序员,十分优秀!