Android:以编程方式调用nDrawDisplayList

Android:以编程方式调用nDrawDisplayList,android,performance,Android,Performance,我的应用程序相当复杂,有两到三个大约500毫秒的延迟,TraceView显示在GLES20Canvas.nDrawDisplayList中。这些滞后只有在执行某些步骤时才会发生一次,之后一切都会顺利进行 是否有方法在创建/恢复活动时调用此调用 请不要给我“少画”类的答案。我的代码/布局已经进行了严格的优化,我不是编写高性能java应用程序的初学者。我还阅读了谷歌找到的几乎所有android性能教程 我必须使用大量嵌套的ImageViews和TextViews来显示和设置动画,我无法找到更多的方法

我的应用程序相当复杂,有两到三个大约500毫秒的延迟,TraceView显示在
GLES20Canvas.nDrawDisplayList
中。这些滞后只有在执行某些步骤时才会发生一次,之后一切都会顺利进行

是否有方法在创建/恢复活动时调用此调用

请不要给我“少画”类的答案。我的代码/布局已经进行了严格的优化,我不是编写高性能java应用程序的初学者。我还阅读了谷歌找到的几乎所有android性能教程


我必须使用大量嵌套的
ImageView
s和
TextView
s来显示和设置动画,我无法找到更多的方法来进一步降低复杂性,而不会使此应用程序的开发和代码可重用性成为一场噩梦。

您是否尝试将硬件层用于动画视图?另外,您确定在绘图时没有使用大型图像(即使它们是通过
scaleType
以编程方式缩小的)?最后一个问题,我很难想象所有这些视图都能同时显示在设备屏幕上——我假设你使用的是某种滚动容器,是真的吗?我假设你读过这篇文章(这至少可以部分解释为什么你在显示列表上有问题):它们可以显示在屏幕上,因为它是一个平板电脑应用程序。我不使用滚动容器。我读过这篇文章,当然,它基本上是这样说的“在安卓系统中,硬件加速有时有效,有时无效,因为某些原因有时适用”。我通过使用共享
Paint
对象和各种其他技巧的
TextView
s来获得性能。@FabianZeindl其他技巧是什么?你能把它们贴出来作为你问题的答案吗?