Android UI 在 View setRotation 上变慢

标签 android performance android-layout user-interface rotation

我在 FrameLayout 中有大约 20 个 RelativeLayouts,我像这样用于 Stack:

cardsbehindeachother View 的旋转在构造函数中使用以下行设置:

float minX = -4.3f;
float maxX = 4.3f;

Random rand = new Random();
float finalX = rand.nextFloat() * (maxX - minX) + minX;
setRotation(finalX);

在 View 上有一个触摸按钮,您可以在其中移动“工作表”并将其丢弃。 现在我遇到了问题,如果我添加更多的工作表,UI 会变得非常慢。 在 3-5 张/ View 上没有问题,在 20-30 上它真的很慢。一旦我删除旋转,一切正常。 如果我做一个较低的旋转,它会变得更好,但它仍然很慢。

有没有办法在不减慢用户界面的情况下使用旋转?

最佳答案

我明白了 - 经过一番研究,我偶然发现了这篇文章:

http://developer.android.com/training/custom-views/optimizing-view.html

添加后

setLayerType(View.LAYER_TYPE_HARDWARE, null);

一切顺利。

关于Android UI 在 View setRotation 上变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25428067/

相关文章:

Android + Apache MINA 在 session.write() 之后不运行 messageSent()

database - PostgreSQL 性能问题

python - 使用 Python 对 bool 数据进行快速索引和位翻转

android - 如何在布局 XML 中定义包含内容的 ListView?

android - 获取错误 "androidx.appcompat.widget.N cannot be cast to com.google.android.material.button.MaterialButton"

java - 在android中比较两个字符串如url

android - 循环依赖不能存在于RelativeLayout,android?

android - 无法在 LinearLayout 内 WRAP_CONTENT RecyclerView

android - Android 的参数化仪器化测试

node.js - 在 Node js 中使用 'require' 以获得更好的性能