gpt4 book ai didi

Android ViewPager + GridView 图像占用过多 HEAP 内存

转载 作者:行者123 更新时间:2023-11-29 00:30:36 32 4
gpt4 key购买 nike

我正在尝试为我的游戏制作一个关卡选择器,现在它可以工作了,但是,它在某些手机上真的很慢,有时不工作(FC),我意识到它使用了太多的堆内存。

我是 android 开发的新手,所以这是我的代码,希望你能帮助我。

使用 VIEWPAGER 的 Activity :

   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);

查看寻呼机适配器:

  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;
}

GridView 适配器:

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

我希望这很清楚。

谢谢。

最佳答案

我发现我的图片太大了,不是尺寸,而是分辨率。

我不得不将它们的大小调整为 ldpi、mdpi 和 hdpi。

可以在以下位置找到这些尺寸:

Android activity image background size

Button Image size in android

关于Android ViewPager + GridView 图像占用过多 HEAP 内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16015595/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com