ScrollView中存在大量ImageButton

时间:2017-03-22 18:00:13

标签: android scrollview imagebutton lag

我是一名Android初学者,我正在构建一个SoundBoard应用程序以获得有趣的ScrollView和很多( 44 for now ImageButton并排2列。

这是它的样子:

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginBottom="1dp"
        android:orientation="horizontal"
        android:weightSum="1">

        <ImageButton
            android:id="@+id/myImageButton1"
            android:tag="myTag1"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_marginRight="1dp"
            android:layout_weight=".5"
            android:adjustViewBounds="true"
            android:background="@null"
            android:clickable="true"
            android:foreground="?attr/selectableItemBackgroundBorderless"
            android:onClick="onSoundButtonClick"
            android:scaleType="fitXY"
            android:src="@drawable/myImage1" />

        <ImageButton
            android:id="@+id/myImageButton2"
            android:tag="myTag2"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight=".5"
            android:adjustViewBounds="true"
            android:background="@null"
            android:clickable="true"
            android:foreground="?attr/selectableItemBackgroundBorderless"
            android:onClick="onSoundButtonClick"
            android:scaleType="fitXY"
            android:src="@drawable/myImage2" />
    </LinearLayout>

   // More LinearLayout below for ImageButton side by side

</LinearLayout>

当快速向下滚动时,我遇到了滞后。我尝试用RecyclerView构建应用程序,但它没有解决问题(我可能误用了它)。 每个.jpg的重量在20Ko到30Ko之间,44个图像的总重量为1.24Mo。

你对如何解决这个问题有任何线索吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

问题可能不在您的布局中。它适用于您的适配器。您有一些good practices to apply by google,另外您可以对您的资源应用延迟加载,您可以在this topic中找到。

这可以帮助您解决问题。