2016-08-11 22 views
1

スクロールビュー内の大きな背景画像は明らかに非常に遅いですが、画像を圧縮しようとしましたが、何も変わらないようです。スクロール・ラグを減らす方法はありますか?すべての答えは感謝しています、ありがとう!大きな背景画像をスクロールするときのラグの減少

そして、ここでは

<HorizontalScrollView 
    android:overScrollMode="never" 
    android:id="@+id/day_switcher" 
    android:scrollbars="none" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <ScrollView 
     android:overScrollMode="never" 
     android:scrollbars="none" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

    <RelativeLayout 
     android:id="@+id/day_holder" 
     android:layout_width="8000dp" 
     android:layout_height="wrap_content"> 

     <RelativeLayout // Has Large Background Image 
      android:id="@+id/day_left" 
      android:background="some_background" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 
      <include 
       layout="@layout/day_view_1" /> 
     </RelativeLayout> 

     <RelativeLayout // Has Large Background Image 
      android:layout_toRightOf="@id/day_left" 
      android:background="some_background" 
      android:id="@+id/day_mid" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 
      <include 
       layout="@layout/day_view_2" /> 
     </RelativeLayout> 

     <RelativeLayout // Has Large Background Image 
      android:id="@+id/day_right" 
      android:background="some_background" 
      android:layout_toRightOf="@id/day_mid" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content"> 
      <include 
       layout="@layout/day_view_3" /> 
     </RelativeLayout> 

    </RelativeLayout> 

    </ScrollView> 

</HorizontalScrollView> 
+0

まずは、あなたの画像の解像度は? –

+0

ビューの階層構造を縮小してみてください。あまりにも乱雑です – MRX

+0

@BartekLipinski私は1080で3000を推測しています –

答えて

1

それはあなたの問題を見つけることが少し難しいですが...私のXMLレイアウトであるhere're助けるかもしれないいくつかのヒント。

1-小さな画像を使用してください。

2イメージのサイズを縮小し、ビュー操作を管理するためにイメージライブラリを使用できます。

Here'reいくつかの画像ライブラリ:

https://github.com/nostra13/Android-Universal-Image-Loader

http://square.github.io/picasso/

https://github.com/bumptech/glide

http://frescolib.org

3 - あなたはあなたのレイアウトの深さを減らすことができます。あなたはレイアウトを含んでいます。レイアウトの深さを増やす原因になることがあります。 mergeタグの使用状況を確認できます。

編集:

4- @pskink:アンドロイドとRelativeLayout:layout_width = "8000dp" と巨大画像描画が原因です。

+0

#3は最高の答えのように聞こえる。私は彼のアプリがすでに4レベルの深さであり、レイアウトに入っていなくても意味がある。 4レベルは最大総深度に近くなければなりません。私は彼の含まれているレイアウトがより良いとは思わない。 –

+0

savepopulation、 'android:layout_width =" 8000dp "'を使った 'RelativeLayout'、巨大な画像を描画することが狙いですが、レイアウトの深さは' onMeasure'も ' onLayout'は – pskink

+0

と呼ばれています@pskinkああ、そうですよね、私はそれを逃しました:) – savepopulation

関連する問題