Android App跳过> 300帧

时间:2015-10-19 19:57:09

标签: android gridview android-studio

我的应用正在跳过> 300帧,因为它在主线程上做了太多工作。这是在我实现Gridview显示图片并通过点击它们最大化到全屏后发生的。如果我减小图像的大小它会变得更好但是对于最终的应用程序,它计划比现在有更多的图像,所以我认为这不是要走的路。 另外我还有一个问题:当我最大化它时,我想为每个图像都有一个特定的文本。基本上我点击gridview中的小图片,它在我的全屏幕活动中最大化并弹出一个文本字段。有没有办法实现这一点?

如果您需要任何进一步的信息,请与我们联系。

gridview的代码:

public class ImageAdapter extends BaseAdapter {
private Context mContext;

public ImageAdapter(Context c) {
    mContext = c;
}

public int getCount() {
    return mThumbIds.length;
}

public Object getItem(int position) {
    return null;
}

public long getItemId(int position) {
    return 0;
}

public View getView(int position, View convertView, ViewGroup parent) {
    ImageView imageView;

    if (convertView == null) {
        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(150, 150));
        imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
        imageView.setPadding(8, 8, 8, 8);
    }
    else
    {
        imageView = (ImageView) convertView;
    }
    imageView.setImageResource(mThumbIds[position]);
    return imageView;
}

public Integer[] mThumbIds = {
        R.drawable.eich, R.drawable.hase,
        R.drawable.hase2, R.drawable.katze,
        R.drawable.wasch, R.drawable.wauwau,
        R.drawable.erd, R.drawable.wauwau,
        R.drawable.eich, R.drawable.hase,
        R.drawable.hase2, R.drawable.katze,
        R.drawable.wasch, R.drawable.katze,
        R.drawable.wauwau

};

这里是全屏视图的代码:

public class FullViewActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.full_view);

    ImageButton back = (ImageButton)findViewById(R.id.imageButton3);
    back.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent BackToGrid = new Intent(FullViewActivity.this, GridViewActivity.class);
            startActivity(BackToGrid);
        }
    });

    Intent i = getIntent();

    int position = i.getExtras().getInt("id");
    ImageAdapter imageAdapter = new ImageAdapter(this);

    ImageView imageView = (ImageView) findViewById(R.id.FullView);
    imageView.setImageResource(imageAdapter.mThumbIds[position]);
}

0 个答案:

没有答案