Ха-ха. Я предполагаю, что мораль этой истории заключается в том, что иногда даже неправильный кодекс работает - и сохранять бдительность!

исал программу, которая в любое время отображает 8 выбранных пользователем изображений на экране. Каждое изображение взято из его оригинальной формы и уменьшено до однородного размера. Для этого я использую код ниже:

Bitmap bitmapOrg = BitmapFactory.decodeFile(File Location Here);

        int width = bitmapOrg.getWidth();
        int height = bitmapOrg.getHeight();
        int newWidth = 100;
        int newHeight = 100;

        // calculate the scale - in this case = 0.4f
        float scaleWidth = ((float) newWidth) / width;
        float scaleHeight = ((float) newHeight) / height;

        // createa matrix for the manipulation
        Matrix matrix = new Matrix();
        // resize the bit map
        matrix.postScale(scaleWidth, scaleHeight);

        // recreate the new Bitmap
        Bitmap resizedBitmap = Bitmap.createBitmap(bitmapOrg, 0, 0, width,
                height, matrix, true);
        // make a Drawable from Bitmap to allow to set the BitMap
        // to the ImageView, ImageButton or what ever
        BitmapDrawable bmd = new BitmapDrawable(resizedBitmap);

        //ImageView imageView = new ImageView(this);
        ImageView iv = (ImageView) findViewById(R.id.imageView1);

        // set the Drawable on the ImageView
        iv.setImageDrawable(bmd);

        // center the Image
        iv.setScaleType(ScaleType.CENTER);

Хотя мой код работает не идеально. Кажется, я использую много памяти, особенно вызываю этот код, возможно, 8 раз за раз. Где в коде я бы «переработал» память и как сделать так, чтобы этот код работал лучше?

РЕДАКТИРОВАТЬ:

Таким образом, я реализовал код в своем проекте, и он работал отлично, а затем я попытался добавить его в другие разделы, и он просто перестал работать все вместе. Мой код выглядит так: есть идеи, что я делаю не так?

    BitmapFactory.Options options = new BitmapFactory.Options(); 
 options.outWidth = 50; 
 options.outHeight = 50; Bitmap bitmap = BitmapFactory.decodeFile(path, options);
 ImageView iv = (ImageView) findViewById(R.id.imageView7); 
 iv.setImageBitmap(bitmap);

Ответы на вопрос(2)

Ваш ответ на вопрос