1

我正在开发 Android 安全应用程序,我必须锁定图库中的图像,所以我试图将图库中的图像移动到我的应用程序中。

我正在使用这段代码:

Cursor cursor = cursor1[0];
        int i = 0;
        while (cursor.moveToNext()) {

            String id = cursor.getString(cursor.getColumnIndex(MediaStore.Images.ImageColumns._ID));
            long idC = Long.parseLong(id);
            Uri newUri = ContentUris.withAppendedId(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, idC);
        try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(cr,newUri);
                ByteArrayOutputStream stream = new ByteArrayOutputStream();
                bitmap.compress(Bitmap.CompressFormat.PNG, 100,stream );

                Bitmap compBit = Bitmap.createScaledBitmap(bitmap, 100,100, true);
                bitmap1[i] = compBit;
                bitmap.recycle();

            } catch (Exception e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }

但得到这个例外:

4192360 字节分配内存不足。

4

1 回答 1

3

有一个关于有效显示位图的培训模块 - [链接] http://developer.android.com/training/displaying-bitmaps/index.html

它提供了有关使用示例处理内存不足异常的良好信息。

于 2013-08-01T12:37:16.210 回答