2

ゲームにレベル セレクターを作成しようとしていますが、現在は機能していますが、一部の電話では非常に遅く、機能しない場合もあります (FC)。ヒープ メモリを使いすぎていることに気付きました。

私はAndroid devでまったく新しいので、ここに私のコードがあります。あなたが私を助けてくれることを願っています.

ビューページャーでのアクティビティ:

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

グリッド ビュー アダプター:

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つの「ワールド」(ページを表示)があります
  • 各「世界」には、1 から 15 までの番号が付いた 15 の画像があります。
  • 画像サイズ: +- 12kb
  • BGサイズは: +- 140kb

私はそれが明確であることを願っています。

ありがとう。

4

2 に答える 2

2

サイズではなく解像度が大きすぎることがわかりました。

それらをldpi、mdpi、およびhdpiにサイズ変更する必要がありました。

これらのサイズは次の場所にあります。

Android アクティビティ画像の背景サイズ

Androidのボタン画像サイズ

于 2013-04-15T19:28:59.013 に答える
0

getView メソッドでオブジェクトを作成しないようにする必要があります (グリッド ビュー アダプターなど)。代わりに、ViewHolder パターンを使用できます。

http://www.jmanzano.es/blog/?p=166

于 2013-04-15T12:56:50.323 に答える