我知道我必须在主线程中继续进行,但我正在寻找解决方法。
这是我应用的结构:
目前我有我的主要活动,它有6个可点击的图像视图(打开新活动),当其中一个活动被打开时就会出现问题。在这个活动中,我正在使用带有3个标签的SlidingTabLayout。
这就是我想要实现的目标:
我用抽奖(形状)制作钢琴
例如,这是黑键:
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<stroke
android:width="1dp"
android:color="#FF000000" />
<solid
android:color="#FF000000"/>
</shape>
然后我在我的布局中调用这个drawables来创建钢琴:
<ImageView
android:layout_width="8dp"
android:layout_height="37dp"
android:layout_marginLeft="40dp"
android:layout_marginStart="10.5dp"
android:src="@drawable/key_black" />
我正在显示黑色键的7个Imageview和白色键的10个Imageview PER钢琴和我有11个钢琴PER标签。所以每个标签是187个Imageview。
所以我明白这对我的CPU来说会很苛刻。我正在寻找一种方法来做我的主线程?要在后台做吗?要做到这一点而不经历滞后?
答案 0 :(得分:0)
如上所述,我会为钢琴创建一个基本图像,并根据当前按下的键进行调整。下面的代码显示了一般的想法:从R.drawable加载基本图像,使用按下的键的索引,以及创建Paths的图像的大小,绘制路径,返回图像。如果您需要澄清,请告诉我。
public int sum(int[] array)
{
return (int)array.stream().sum();
}