Juj*_*uja 5 performance android listview image
我正在尝试使用Listview/customadapter创建一个人员列表.行显示得非常快,但即使在速度相当快的设备上滚动也很慢.我尝试了几个建议,除了使用asynchtask希望将其作为最后的手段,但似乎没有任何改善性能.最后作为使用asynchtask之前的最后一个镜头,我试图删除适配器的getview方法中的所有处理.现在它所做的就是从xml中扩展视图并显示空白行.我注意到即使这样,滚动速度也没有提高.所以我怀疑原因可能是我的布局结构.我能做些什么改变才能让它更快?任何帮助,将不胜感激.提前致谢.
<TextView android:id="@+id/mId" android:text="TextView"
android:layout_width="0px" android:layout_height="0px"></TextView>
<TextView android:id="@+id/phone" android:layout_height="0px"
android:layout_width="0px"></TextView>
<TextView android:id="@+id/email" android:layout_height="0px"
android:layout_width="0px"></TextView>
<ImageView android:id="@+id/imageView1" android:layout_width="match_parent"
android:layout_height="110dp" android:adjustViewBounds="true"
android:scaleType="fitXY" android:src="@drawable/bl_row_bg"></ImageView>
<TextView android:paddingTop="9.7dp" android:id="@+id/name"
android:paddingLeft="25.88dp" android:text="xxxx"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:textColor="@android:color/black" android:lines="1"
android:ellipsize="end" android:textStyle="bold"></TextView>
<ImageView android:src="@drawable/default_avatar" android:id="@+id/image1"
android:layout_height="110dp" android:layout_width="110dp"
android:scaleType="fitXY" android:paddingTop="6.47dp"
android:paddingBottom="6.47dp" android:paddingRight="6.47dp"
android:layout_alignParentRight="true"></ImageView>
<TextView android:id="@+id/txt1" android:paddingLeft="25.88dp"
android:text="Turning 24" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_below="@+id/name"
android:textColor="@android:color/black"></TextView>
<TextView android:id="@+id/txt2" android:paddingLeft="25.88dp"
android:text="23 Days to go" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_below="@+id/txt1"
android:textColor="@android:color/black"></TextView>
<ImageView android:layout_height="64.7dp" android:src="@drawable/ss_image2"
android:id="@+id/image2" android:layout_width="64.7dp"
android:scaleType="fitEnd" android:layout_alignBottom="@+id/imageView1"
android:layout_alignParentRight="true"></ImageView>
<ImageView android:src="@drawable/bl_date_background"
android:id="@+id/datebg" android:layout_height="110dp"
android:layout_width="25dp"></ImageView>
<ImageView android:id="@+id/icon1"
android:layout_toRightOf="@+id/datebg" android:layout_height="30dp"
android:layout_width="30dp" android:layout_alignBottom="@+id/imageView1"></ImageView>
<ImageView android:id="@+id/icon2"
android:layout_toRightOf="@+id/icon1" android:layout_height="30dp"
android:layout_width="30dp" android:layout_alignBottom="@+id/imageView1"></ImageView>
<ImageView android:id="@+id/icon3"
android:layout_toRightOf="@+id/icon2" android:layout_height="30dp"
android:layout_width="30dp" android:layout_alignBottom="@+id/imageView1"></ImageView>
<ImageView android:id="@+id/icon4" android:layout_toRightOf="@+id/icon3"
android:layout_height="30dp" android:layout_width="30dp"
android:layout_alignBottom="@+id/imageView1"></ImageView>
<ImageView android:id="@+id/icon5"
android:layout_toRightOf="@+id/icon4" android:layout_height="30dp"
android:layout_width="30dp" android:layout_alignBottom="@+id/imageView1"></ImageView>
<TextView android:id="@+id/date" android:text="Tue, Dec 12"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_alignParentLeft="true" android:textColor="@android:color/black"
android:textStyle="bold" android:gravity="center" android:visibility="invisible"></TextView>
Run Code Online (Sandbox Code Playgroud)
尝试以下
ListView lv = getListView();
lv.setCacheColorHint(Color.TRANSPARENT); // not sure if this is required for you.
lv.setFastScrollEnabled(true);
lv.setScrollingCacheEnabled(false);
Run Code Online (Sandbox Code Playgroud)
确保首先查阅实际的Android文档,并将Java方法与Android XML属性进行比较:
http://developer.android.com/reference/android/widget/ListView.html
对于那些需要在XML属性中进行优化的人:
<ListView
android:id="@+id/listview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
android:fastScrollEnabled="true"
android:persistentDrawingCache="scrolling"
android:scrollingCache="false" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10896 次 |
| 最近记录: |