每一帧都重新绘制一个自定义视图

移动开发 2026-07-09

经过一段时间后,我的应用启动,控制台充满了写着RenderInspector [W] QueueBuffer time out on <activity name>, count=<num>, avg=<num> ms, max=<num> ms.的警告。

似乎与我自定义视图中的onDraw()有关,我在尝试让它在每一帧都重新绘制自己(即使该函数里面只有invalidate()

class MainView(context: Context, attributeSet: AttributeSet?) : FrameLayout(context, attributeSet) {
    init {
        setWillNotDraw(false)
    }

    ...

    override fun onDraw(canvas: Canvas) {

        ...

        invalidate()
    }
}

因此我的问题是,应该如何正确地让一个视图在每一帧都进行重绘?

解决方案

原来这些警告来自hyperos,并非Android,因此问题就此解决。

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章