我是一个新的Android Studio程序员,我有这个错误,有时会让我的应用程序崩溃 . 我将6个ImageView放入一个带有12个按钮的布局中,我的应用程序说“I / Choreographer:跳过了699帧!应用程序可能在其主线程上做了太多工作 . ”当我开始布局 . 我怎么解决这个问题?继承人的代码
<?xml version="1.0" encoding="utf-8"?>
<ImageView
android:layout_width="150dp"
android:layout_height="60dp"
android:background="@drawable/frappesbutton2"
android:id="@+id/imageView"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/buttonc2"
android:layout_toStartOf="@+id/buttonc2" />
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/frapeonemarco2"
android:layout_marginTop="21dp"
android:id="@+id/imageView2"
android:layout_below="@+id/imageView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
/>
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonc1"
android:onClick="checkf1"
android:text="@string/Check"
android:layout_alignTop="@+id/imageView2"
android:layout_toRightOf="@+id/imageView2"
android:layout_toEndOf="@+id/imageView2" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonA1"
android:onClick="addf1"
android:text="@string/Add_it"
android:layout_below="@+id/buttonc1"
android:layout_alignLeft="@+id/buttonc1"
android:layout_alignStart="@+id/buttonc1" />
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/frapeonemarco3"
android:id="@+id/imageView3"
android:layout_alignTop="@+id/buttonc1"
android:layout_toRightOf="@+id/buttonc1"
android:layout_toEndOf="@+id/buttonc1" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonc2"
android:onClick="checkf2"
android:text="@string/Check"
android:layout_above="@+id/buttonA2"
android:layout_alignLeft="@+id/buttonA2"
android:layout_alignStart="@+id/buttonA2" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonA2"
android:onClick="addf2"
android:text="@string/Add_it"
android:layout_below="@+id/buttonc1"
android:layout_toRightOf="@+id/imageView3"
android:layout_toEndOf="@+id/imageView3" />
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src= "@drawable/oreofrappe"
android:layout_below="@+id/imageView2"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="37dp"
android:id="@+id/imageView4" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonc3"
android:onClick="checkf3"
android:text="@string/Check"
android:layout_alignTop="@+id/imageView4"
android:layout_toLeftOf="@+id/imageView3"
android:layout_toStartOf="@+id/imageView3" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonA3"
android:onClick="addf3"
android:text="@string/Add_it"
android:layout_below="@+id/buttonc3"
android:layout_toRightOf="@+id/imageView4"
android:layout_toEndOf="@+id/imageView4" />
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/frappeoriginal3"
android:layout_alignTop="@+id/buttonc3"
android:layout_alignLeft="@+id/imageView3"
android:layout_alignStart="@+id/imageView3"
android:id="@+id/imageView5" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonc4"
android:onClick="checkf4"
android:text="@string/Check"
android:layout_alignTop="@+id/imageView5"
android:layout_toRightOf="@+id/imageView5"
android:layout_toEndOf="@+id/imageView5" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonA4"
android:onClick="addf4"
android:text="@string/Add_it"
android:layout_below="@+id/buttonc4"
android:layout_toRightOf="@+id/imageView5"
android:layout_toEndOf="@+id/imageView5" />
<ImageView
android:layout_width="150dp"
android:layout_height="60dp"
android:background="@drawable/frappesbutton"
android:layout_marginTop="22dp"
android:id="@+id/imageView7"
android:layout_below="@+id/imageView5"
android:layout_alignRight="@+id/imageView5"
android:layout_alignEnd="@+id/imageView5" />
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/firstcoffee"
android:id="@+id/imageView6"
android:layout_below="@+id/imageView7"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_marginTop="27dp" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonc5"
android:onClick="checkc1"
android:text="@string/Check"
android:layout_alignTop="@+id/imageView6"
android:layout_toLeftOf="@+id/imageView5"
android:layout_toStartOf="@+id/imageView5" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonA5"
android:onClick="addc1"
android:text="@string/Add_it"
android:layout_below="@+id/buttonc5"
android:layout_alignLeft="@+id/buttonc5"
android:layout_alignStart="@+id/buttonc5" />
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/segundocafe"
android:id="@+id/imageView8"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/buttonc5"
android:layout_toEndOf="@+id/buttonc5" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonc6"
android:onClick="checkc2"
android:text="@string/Check"
android:layout_alignBaseline="@+id/buttonc5"
android:layout_alignBottom="@+id/buttonc5"
android:layout_toRightOf="@+id/imageView7"
android:layout_toEndOf="@+id/imageView7" />
<Button
android:layout_width="80dp"
android:layout_height="35dp"
android:id="@+id/buttonA6"
android:onClick="addc1"
android:text="@string/Add_it"
android:layout_below="@+id/buttonc5"
android:layout_toRightOf="@+id/imageView7"
android:layout_toEndOf="@+id/imageView7" />
</RelativeLayout>
这就是我想要做的事:Emulator Preview
应用程序运行,但速度很慢,可能会崩溃 .
2 回答
也许你的图像尺寸太大了 . 如果太大,请检查它们的分辨率并调整它们的大小 . 不要使用超过800 * 800的图像,并通过在右侧可绘制文件夹中放置合适的图像,尝试为不同设备设置不同的图像 .
试试:
并将
drawable
放在每个drawable
文件夹中 . 不要只在drawable-xhdpi
或其他中放置drawable.Put drawable indrawable-xhdpi
drawable-xxhdpi
drawable-hdpi
.因为如果你没有适合自己的手机 . drawable将是scale和cast memory .