해당 프로그램은 2.1(SDK 7) 을 대상으로 개발된 어플리케이션입니다.

Row Item 들은 
Inflater 를 이용하여 xml를 View로 생성합니다.
이미지를 Bitmap 으로 다운로드하여 LIstView에 사용할때 Adapter 의 getView() 에서 ViewHolder 를 사용하여, ImageView에는 Bitmap 으로 TextView는 String을 set해줘서 사용하고 있습니다.

2.3.4 의 테이크 야누스 (KT)
2.3.6 의 LG 옵티머스2x
2.3.6 의 갤럭시s2 LTE (U+)
4.0.4 의 갤럭시노트 (KT)
2.3.6 의 LG 옵티머스뷰 LTE

등의 디바이스에서는 정상적으로 작동하지만,

4.0.4 갤럭시s3 LTE (KT) 
4.1.1 갤럭시s3 LTE (KT)

2개의 디바이스에서는 최초 버벅거림이 발생후 리스트 스크롤을 내려서 일정시간이 지난 후에나 버벅거림이 사라집니다.

이와같은 현상을 개선하고자 자료를 찾아 보았지만

row item 의 layout.xml 의 height를 고정값으로 지정해야 해결된다고해서 지정해보았지만, 별다른 성과는 없었습니다.

이 점에 대해서 해결책이 있으신분이나, 방향을 제시해주실 분을 찾고 있습니다.

많은 도움부탁드립니다.

다음은 소스코드를 일부 적었습니다.


xml 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/list_row_bg"
    android:layout_width="fill_parent"
    android:layout_height="122dip" >

    <ImageView
        android:layout_width="80dip"
        android:layout_height="fill_parent"
        android:layout_gravity="center|left"
        android:layout_marginLeft="5dip"/>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dip"
        android:layout_marginLeft="10dip"
        android:layout_marginTop="5dip"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:singleLine="true"
            android:text="Name"
            android:textColor="#E27910" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dip"
            android:ellipsize="end"
            android:singleLine="true"
            android:text="Context"
            android:textColor="#FFFFFF" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dip"
            android:ellipsize="end"
            android:singleLine="true"
            android:text="Context"
            android:textColor="#FFFFFF" />

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dip"
            android:ellipsize="end"
            android:singleLine="true"
            android:text="Context"
            android:textColor="#FFFFFF" />
    </LinearLayout>

</LinearLayout>

adapter

@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int finalPosition = position;

if(datas != null)
{
if(datas.length == finalPosition)
{
convertView = Inflater.inflate(add, parent, false);
}
else
{
ViewHolder holder;
if(convertView == null)
{
holder  = new ViewHolder();
convertView  = Inflater.inflate(row xml, parent, false);
holder.bg = (LinearLayout)convertView.findViewById(row_bg);
holder.img = (ImageView)convertView.findViewById(row_img);
holder.title = (TextView)convertView.findViewById(row_title);
holder.context1 = (TextView)convertView.findViewById(row_context1);
holder.context2 = (TextView)convertView.findViewById(row_context2);
holder.context3 = (TextView)convertView.findViewById(row_context3);
convertView.setTag(holder);
}
else
{
if(convertView.getTag() == null)
{
holder  = new ViewHolder();
convertView  = Inflater.inflate(row xml, parent, false);
holder.bg = (LinearLayout)convertView.findViewById(row_bg);
holder.img = (ImageView)convertView.findViewById(row_img);
holder.title = (TextView)convertView.findViewById(row_title);
holder.context1 = (TextView)convertView.findViewById(row_context1);
holder.context2 = (TextView)convertView.findViewById(row_context2);
holder.context3 = (TextView)convertView.findViewById(row_context3);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder)convertView.getTag();
}
}
if(finalPosition%2 == 0) holder.bg.setBackgroundColor(Color.argb(100, 0, 0, 0));
else holder.bg.setBackgroundColor(Color.argb(0, 0, 0, 0));
if(datas[finalPosition].bmpimg!=null)
{
holder.img.setImageBitmap(datas[finalPosition].bmpimg);
holder.img.setVisibility(View.VISIBLE);
}
else 
{
holder.img.setVisibility(View.INVISIBLE);
}
holder.title.setText(datas[finalPosition].strTitle);
holder.context1.setText(datas[finalPosition].strContext1);
holder.context2.setText(datas[finalPosition].strContext2);
holder.context3.setText(datas[finalPosition].strContext3);
}
}
else
{
convertView = Inflater.inflate(nodata, parent, false);
}
return convertView;
}
class ViewHolder {
LinearLayout bg;
ImageView img;
TextView title;
TextView context1;
TextView context2;