使用ScrollView进行Android慢速滚动

时间:2016-04-05 17:59:41

标签: android scroll uiscrollview

我有一个ScrollView,它有一些图像视图。但是,滚动速度非常慢,我不明白性能不佳的原因是什么。有什么办法可以加快滚动速度吗? 或者什么可能导致这个问题?

`

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

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">

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

                 <ImageView />

        <ImageView />

         <ImageView />

         <ImageView />

         <ImageView />

                <ImageView />

            </RelativeLayout>

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignParentBottom="true"
                android:gravity="center"
                android:orientation="vertical">

                <Button />

            </LinearLayout>
        </RelativeLayout>
    </ScrollView>
</RelativeLayout>`

3 个答案:

答案 0 :(得分:2)

问题在于图像的大小。 因此,如果ScrollView和多个ImageView存在一些性能问题,请注意图像的大小!在我的情况下,我把他们减少到大约。 20KB - 每张图像50KB。

答案 1 :(得分:0)

我的英语不是很流利,但我会尽力向你解释!

你只需要尝试像这样改变你的滚动视图位置

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

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

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

             <ImageView />

    <ImageView />

     <ImageView />

     <ImageView />

     <ImageView />

            <ImageView />

        </RelativeLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:gravity="center"
            android:orientation="vertical">

            <Button />

        </LinearLayout>
    </RelativeLayout>
</ScrollView>

答案 2 :(得分:0)

子视图中的子视图越多,您对系统的负担就越多,我不明白为什么您会在父RelativeLayout内使用RelativeLayout。你只发布了一个snipet,但我发现你必须有很多子布局。

您会找到更多here

它应如下所示,或将LinearLayout替换为RelativeLayout

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" 
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        />
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="100dp" />
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="100dp" />
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="100dp" />
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="100dp" />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="100dp" />
</LinearLayout>