代码之家  ›  专栏  ›  技术社区  ›  Michael Mangeng

Android文本视图-Marquee CPU负载

  •  1
  • Michael Mangeng  · 技术社区  · 11 年前

    我有一个专用的android触摸面板的特殊情况。 在安卓应用程序中,我在一个页面上有多个文本视图字段,这些字段使用了字幕功能。 =>一切都很好,但如果页面上有超过7个TextView元素,marquee将使用近100%的cpu负载。

    如果字幕关闭,则加载将变为0%-1%。

    我们很确定我们这里得到的这个触摸面板的图形驱动程序坏了,但我们不可能在那里交换任何东西,因为它都关闭了。

    详细说明:CPU评测(使用DDMS)显示,大部分时间用于android.graphics.Canvas.natureDrawPath(III)V

    现在我的问题是: 在这种情况下你有什么建议?

    (我不能使用多行字段,因为ui是用户可自定义的,并且有预定义的小部件,我也不能使字段变大)

    哦,是的,它是android 2.3.3,我无法升级。 我不知道android 2.3的字幕效果有多智能,所以我正在考虑实现我自己的字幕效果,并尝试将重新绘制请求分组在一起,但我想我应该先问这里。

    我也尝试了textView缓存,但这没有帮助。

    谢谢你的提示, 迈克尔

    1 回复  |  直到 11 年前
        1
  •  1
  •   Michael Mangeng    11 年前

    对于其他有相同问题的:

    我实现了我自己的“类ScrollTextView扩展了TextView”,它实现了一个自定义的、基于字符的字幕,看起来不错,性能也更好。(每隔333毫秒在开始时删除一个字符,并在开始时稍作停顿。然后重复。)。

    如果该应用程序没有部署在带有可怕图形驱动程序的设备上,它只会激活TextView的字幕。

    奇怪的、出乎意料的问题解决了:-)