2013-04-15 53 views
2

我想爲我的遊戲製作一個關卡選擇器,現在它正在工作,但是它在一些手機上真的很慢,有時候不工作(FC),我意識到它使用了太多的堆內存。Android ViewPager + GridView帶圖片需要太多HEAP內存

我在android dev上很新,所以這裏是我的代碼,我希望你能幫助我。

WITH THE VIEWPAGER活性:

setContentView(R.layout.level_selector); 
    ViewPagerAdapter adapter = new ViewPagerAdapter(this); 
    ViewPager myPager = (ViewPager) findViewById(R.id.mypagerwontwork); //cool id huh 
    myPager.setAdapter(adapter); 
    myPager.setCurrentItem(0); 

VIEW PAGER ADAPTER:

public Object instantiateItem(View collection, int position) { 
     LayoutInflater inflater = (LayoutInflater) activity.getSystemService(activity.LAYOUT_INFLATER_SERVICE); 
    if(position == 0) 
    { 
     View layout = inflater.inflate(R.layout.world1, null); 
     final GridView gridview = (GridView) layout.findViewById(R.id.gridLvl); 
     gridview.setAdapter(new LevelAdapter(activity,"World1")); 
     gridview.setOnItemClickListener(itemClickListener); 
     ((ViewPager) collection).addView(layout); 
     return layout; 
    } 

網格視圖ADAPTER:

public View getView(int position, View convertView, ViewGroup parent) { 
     ImageView imageView = new ImageView(mContext); 
     imageView.setLayoutParams(new GridView.LayoutParams(100, 100)); 
     if (mWorld.equals("World1")) 
     { 
      imageView.setImageResource(World1[position]); 
     } 

實用信息:

  • 有3「世界」(查看頁)每一個具有不同背景
  • 每個「世界」有15個圖象,從1號到15
  • 圖像大小:+ - 12KB
  • 的BG尺寸爲:+ - 140KB

我希望這是清楚的。

謝謝。

+0

你算看到這些圖像需要多少內存需要:

這些尺寸,可以發現? – Luksprog

回答