草庐IT

CF_BITMAP

全部标签

android - java.lang.OutOfMemoryError : bitmap size exceeds VM budget

这个问题在这里已经有了答案:java.lang.OutOfMemoryError:bitmapsizeexceedsVMbudget-Android(13个回答)关闭2个月前。我正在尝试将应用程序的布局从纵向更改为横向,反之亦然。但是,如果我经常或不止一次这样做,那么我的应用程序有时会崩溃。下面是错误日志。请建议可以做什么?01-0609:52:27.787:ERROR/dalvikvm-heap(17473):1550532-byteexternalallocationtoolargeforthisprocess.01-0609:52:27.787:ERROR/dalvikvm(17

android - 如何使用存储在 SDCARD 中的 JPG 将 JPG 文件作为 BITMAP 打开?

实际上我知道如何将PNG文件作为位图打开。但是我的代码不适用于打开的JPG文件,我不知道为什么。我在SO或google上找不到有关如何执行此操作的正确示例。我需要一个位图,其中包含从sdcard的目录打开的JPG文件。例如“sdcard/images/01.jpg”谢谢 最佳答案 Fileroot=Environment.getExternalStorageDirectory();ImageViewIV=(ImageView)findViewById(R.id."imageview");BitmapbMap=BitmapFactor

安卓 : Maximum allowed width & height of bitmap

我正在创建一个需要将大图像解码为位图以显示在ImageView中的应用。如果我只是尝试将它们直接解码为位图,我会收到以下错误"位图太大,无法上传到纹理中(1944x2592,max=2048x2048)"所以为了能够显示分辨率太高的图像,我使用:Bitmapbitmap=BitmapFactory.decodeFile(path);if(bitmap.getHeight()>=2048||bitmap.getWidth()>=2048){DisplayMetricsmetrics=newDisplayMetrics();getWindowManager().getDefaultDisp

android - 使用android相机捕获图像后将Bitmap转换为Mat

Matb=newMat();Bitmapbmp=getIntent().getExtras().getParcelable("image_send");@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_display_image);Mattmp=newMat(bmp.getWidth(),bmp.getHeight(),CvType.CV_8UC1);Utils.bitmapToMat(b

安卓 Canvas : drawing too large bitmap

我正在运行Ubuntu16.04。在AndroidStudio上,当我尝试在模拟器中运行我的应用程序时,出现以下错误:FATALEXCEPTION:mainProcess:projectnamehere,PID:2528java.lang.RuntimeException:Canvas:tryingtodrawtoolarge(216090000bytes)bitmap.atandroid.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:260)atandroid.graphics.Canvas.drawB

.net - .NET 图像类的内存使用和碎片 : Bitmap vs. 元文件

由于看似过早的内存不足异常,我们一直在仔细检查各种.NET结构的内存使用情况……尤其是大型对象,它们往往会使大对象堆碎片化,从而导致过早的内存不足异常。一个有点令人惊讶的领域是.NET图像类:位图和元文件。以下是我们认为我们已经了解的内容,但无法找到MS文档进行验证,因此如果其他人可以提供任何确认,我们将不胜感激:(1)当您从压缩的光栅文件(JPG、PNG、GIF等)创建位图对象时,它会在该文件的全分辨率下为完全未压缩的像素阵列消耗内存。因此,例如,一个9000x3000像素的5MBJPG将被扩展为9000x3000x3字节(假设24位颜色,无alpha),或消耗81MB内存。对吗?(

c# - 当没有剩余内存时,.Net 和 Bitmap 不会被 GC 自动处理

我想知道为位图分配的内存的分配和处置如何在.NET中工作。当我在一个函数的循环中创建大量位图并连续调用它时,它会一直工作,直到某个点位图无法分配内存,给出指定大小的“无效参数”异常。如果我从while到while调用垃圾收集器。使用以下代码,您可以重现错误:classBitmapObject{publicboolVisible{get{returnenb;}set{enb=value;}}privateboolenb;privateBitmapbmp;publicBitmapObject(inti,boolen){enb=en;bmp=newBitmap(i,i);}}classPoo

android - Android Honeycomb 中的 Bitmap#recycle() 实际上做了什么?

我正在为AndroidHoneycomb编写一个非常占用内存的应用程序,并且我非常小心地尽可能地recycle()未使用的Bitmap;实际上,这对于应用程序的工作来说是必要的,因为Bitmap会不断地循环进出内存。但是,我刚刚在Activity中实现了onConfigurationChanged(),因此(出于多种原因)我试图将内存释放例程放在onStop().目前我的onStop()方法:设置一些View来显示一个默认的Drawable;在这些Views之前使用的Bitmaps上调用recycle();对Bitmaps的引用为空。不幸的是,使用Eclipse内存分析器,这似乎对内存

java - IllegalArgumentException : width and height must be > 0 while loading Bitmap from View

我正在尝试在ImageViewTouch上绘图,这是一个启用捏缩放的库。我可以使用Canvas在图像上绘图,但是当我缩放图像时,绘图消失了。为此,我正在尝试将View转换为位图并为同一View设置theImageBitmap。代码如下:mImage.setDrawPath(true);mImage.setImageBitmap(loadBitmapFromView(mImage));publicstaticBitmaploadBitmapFromView(Viewv){Bitmapb=Bitmap.createBitmap(v.getWidth(),v.getHeight(),Bitm

java - PorterduffXfermode : Clear a section of a bitmap

目标是在某物的顶部绘制位图,并绘制可删除位图底层区域的形状。我有一个概念证明来尝试了解我应该如何去做。我发现了很多关于使用的提示:android.graphics.PorterDuff.Mode.CLEAR下面的代码创建了一个蓝色背景的屏幕并添加了一个自定义View。此View在其Canvas上从下到上绘制:粉红色背景、带有轻微插入以显示粉红色背景的位图以及每个PorterDuffXfermode的黄色圆圈。importandroid.app.Activity;importandroid.content.Context;importandroid.graphics.Bitmap;imp