标签: android-bitmap

将图像加载到Bitmap对象时出现奇怪的内存不足问题

我有一个列表视图,每行有几个图像按钮.单击列表行时,将启动新活动.由于相机布局有问题,我不得不建立自己的标签.为结果启动的活动是地图.如果我单击我的按钮启动图像预览(从SD卡加载图像),应用程序将从活动返回到活动返回到listview结果处理程序以重新启动我的新活动,这只是一个图像小部件.

列表视图上的图像预览正在使用光标和ListAdapter.这使得它非常简单,但我不确定如何放置一个经过调整大小的图像(即小的像素大小不像动态src图像按钮那样.所以我只是调整了从手机摄像头下来的图像.

问题是当我试图返回并重新启动第二个活动时,我收到内存不足错误.

  • 有没有办法我可以轻松地逐行构建列表适配器,我可以在运行中调整大小(有点明智)?

这是更好的,因为我还需要对每行中的小部件/元素的属性进行一些更改,因为焦点问题我无法选择带触摸屏的行.(我可以用滚球.)

  • 我知道我可以做一个带外调整大小并保存我的图像,但这不是我想要做的,但是一些示例代码会很好.

一旦我在列表视图上禁用了图像,它再次正常工作.

仅供参考:这就是我的做法:

String[] from = new String[] { DBHelper.KEY_BUSINESSNAME,DBHelper.KEY_ADDRESS,DBHelper.KEY_CITY,DBHelper.KEY_GPSLONG,DBHelper.KEY_GPSLAT,DBHelper.KEY_IMAGEFILENAME  + ""};
int[] to = new int[] {R.id.businessname,R.id.address,R.id.city,R.id.gpslong,R.id.gpslat,R.id.imagefilename };
notes = new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to);
setListAdapter(notes);
Run Code Online (Sandbox Code Playgroud)

哪里R.id.imagefilenameButtonImage.

这是我的LogCat:

01-25 05:05:49.877: ERROR/dalvikvm-heap(3896): 6291456-byte external allocation too large for this process.
01-25 05:05:49.877: ERROR/(3896): VM wont let us allocate 6291456 bytes
01-25 05:05:49.877: ERROR/AndroidRuntime(3896): Uncaught handler: thread main exiting due to …
Run Code Online (Sandbox Code Playgroud)

android image bitmap out-of-memory android-bitmap

1252
推荐指数
33
解决办法
60万
查看次数

Android:java.lang.OutOfMemoryError:无法分配带有2097152个空闲字节的23970828字节分配和2MB直到OOM

我想在已存储的SD卡中显示ImageView中Bitmap图像.运行后我的应用程序崩溃并导致OutOfMemoryError错误:

(java.lang.OutOfMemoryError:无法分配带有2097152个空闲字节的23970828字节分配和2MB直到OOM)

我不知道或为什么它的内存不足.我认为我的图像尺寸非常大,所以我试图改变它.

Iterator<String> it = imageArray.iterator();
while (it.hasNext()) {
  Object element = it.next();
  String objElement = element.toString();
  Log.e("objElement ", " = " + objElement);
  final ImageView imageView = new ImageView (getContext());
  final ProgressBar pBar = new ProgressBar(getContext(), null, 
                                           android.R.attr.progressBarStyleSmall);
  imageView.setTag(it);
  pBar.setTag(it);

  imageView.setImageResource(R.drawable.img_placeholder);
  pBar.setVisibility(View.VISIBLE);

  if (objElement.endsWith(mp3_Pattern)) {
     Log.e("Mp3 ", " ends with ");
     pBar.setVisibility(View.GONE);
     imageView.setImageResource(R.drawable.audio_control);
  }
  if (objElement.endsWith(png_Pattern)) {
     Bitmap bitmap = BitmapFactory.decodeFile(objElement);
     int size = Math.min(bitmap.getWidth(), bitmap.getHeight());
     int x = (bitmap.getWidth() - size) …
Run Code Online (Sandbox Code Playgroud)

android android-bitmap

317
推荐指数
14
解决办法
35万
查看次数

获取Bitmap附加到ImageView

特定

ImageView image = R.findViewById(R.id.imageView);
image.setImageBitmap(someBitmap);
Run Code Online (Sandbox Code Playgroud)

是否可以检索位图?

android imageview android-bitmap

310
推荐指数
2
解决办法
21万
查看次数

如何从Uri获取位图?

如何从Uri中获取Bitmap对象(如果我成功将其存储在 /data/data/MYFOLDER/myimage.png或中file///data/data/MYFOLDER/myimage.png)以在我的应用程序中使用它?

有没有人知道如何实现这一目标?

android uri android-image android-bitmap

187
推荐指数
10
解决办法
30万
查看次数

在Android中保存和读取内部存储器中的位图/图像

我想要做的是将图像保存到手机的内存(非SD卡).

我该怎么做?

我已经将图像直接从相机到我的应用程序中的图像视图一切正常.

现在我想要的是将此图像从图像视图保存到我的Android设备的内部存储器,并在需要时访问它.

任何人都可以指导我如何做到这一点?

我对android有点新,所以请,如果我能有一个详细的程序,我将不胜感激.

android image android-image android-bitmap

152
推荐指数
4
解决办法
23万
查看次数

"位图太大而无法上传到纹理中"

我正在将一个位图加载到ImageView中,并看到此错误.我收集此限制与OpenGL硬件纹理(2048x2048)的大小限制有关.我需要加载的图像是大约4,000像素高的捏缩图像.

我试过关闭清单中的硬件加速,但没有快乐.

    <application
        android:hardwareAccelerated="false"
        ....
        >
Run Code Online (Sandbox Code Playgroud)

是否可以将大于2048像素的图像加载到ImageView中?

android android-image android-imageview android-bitmap

149
推荐指数
9
解决办法
11万
查看次数

Android Bitmap到Base64字符串

如何将大型位图(使用手机相机拍摄的照片)转换为Base64字符串?

base64 android bitmap android-bitmap

117
推荐指数
6
解决办法
9万
查看次数

Android中的Bitmap和Drawable有什么区别?

我用谷歌搜索,但我找不到任何文章来描述Android中的Bitmap和Drawable之间的区别.

android terminology android-drawable android-bitmap

70
推荐指数
4
解决办法
5万
查看次数

Android-如何将android.net.Uri对象转换为java.net.URI对象?

我试图FileInputStream在用户从图片库中选择的图像上获取一个对象.这是由URI返回的androidandroid.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI

内容://媒体/外部/图像/媒体/ 3

当我尝试从这个对象构造一个java URI对象时,我得到一个IllegalArgumentException,其中包含URI中的异常描述Expected file scheme:content:// media/external/images/media/3而android URI将该方案显示为内容

从未找到原始问题的解决方案.但是如果你想要图片库中图像的字节流,这段代码就可以做到.

content://media/external/images/media/3
Run Code Online (Sandbox Code Playgroud)

android uri fileinputstream android-bitmap

59
推荐指数
2
解决办法
6万
查看次数

缩放图像保持其纵横比在背景中可绘制

如何使背景图像适合视图,但在<bitmap />用作背景可绘制XML 时保持其纵横比?没有<bitmap>android:gravity值给出预期效果的.

scaling android android-drawable android-background android-bitmap

58
推荐指数
3
解决办法
8万
查看次数