뷰페이져로 이미지를 뿌려주면서 플리킹 해주는 것이 상당히 많은 메모리를 잡아 먹더라구요.

결국은 앱이 종료되버립니다.. out of memory로요ㅠㅠ


일단 페이져 어답터는 아래와 같습니다.

플리킹하여 이미지가 바뀔때마다 계속해서 메모리가 늘어나고,, 해제는 되지 않고..ㅜㅜㅜ

결론은 image_view.findViewById(view_name).setBackgroundDrawable(null);를 적절한 위치에 넣어주어 메모리가

증가되는 것을 막아야 할 것같은데

여기서부터 막막해져버렸네요ㅠㅠ

혹시 도움 주실 수 있는 분 계시나 해서 질문 올려봅니다.ㅠㅠ



//Pager 아답터 구현

    private class BkPagerAdapter_pop extends PagerAdapter{

    private LayoutInflater mInflater;

    

    public BkPagerAdapter_pop( Context con) {

super();

mInflater = LayoutInflater.from(con);

}

    

    @Override public int getCount() { return db_count; } //여기서는 2개만 할 것이다.

    

    //뷰페이저에서 사용할 뷰객체 생성/등록

    @Override public Object instantiateItem(View pager, int position) {

    image_view = null;

    for(int i = 0; i < db_count; i++)

    {

    if(position == i)

    {

    image_view = Inflater.inflate(R.layout.layout1, null);

        int drawableResource_img1 = res.getIdentifier(image_array.get(i), "drawable", pack);

    

image_view.findViewById(view_name).setBackgroundResource(img_name);

int height=this.getResources().getDrawable(img_name).getMinimumHeight()/2;

int width=this.getResources().getDrawable(img_name).getMinimumWidth()/2;


LinearLayout.LayoutParams layout_content_params = new LinearLayout.LayoutParams( 

width, height);

layout_content_params.gravity = Gravity.CENTER;

v.findViewById(view_name).setLayoutParams(layout_content_params);

v.setPadding(0, top_padding, 0, 0);

    }

    }

    ((ViewPager)pager).addView(image_view, 0);

    return image_view; 

    }

    

    //뷰 객체 삭제.

@Override public void destroyItem(View pager, int position, Object view) {

((ViewPager)pager).removeView((View)view);

}

// instantiateItem메소드에서 생성한 객체를 이용할 것인지

@Override public boolean isViewFromObject(View view, Object obj) {

return view == obj; }

@Override public void finishUpdate(View arg0) {

}

@Override public void restoreState(Parcelable arg0, ClassLoader arg1) {}

@Override public Parcelable saveState() {return null;}

@Override public void startUpdate(View arg0) {

}


    }