我想爲我的遊戲製作一個關卡選擇器,現在它正在工作,但是它在一些手機上真的很慢,有時候不工作(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
我希望這是清楚的。
謝謝。
你算看到這些圖像需要多少內存需要:
這些尺寸,可以發現? – Luksprog