草庐IT

CF_BITMAP

全部标签

java - Android Bitmap.createBitmap() 填充堆

我需要大位图(6000x2000),所以我创建了一个:Bitmap.Configconf=Bitmap.Config.ARGB_4444;Bitmapbm=Bitmap.createBitmap(6000,2000,conf);然后在该方法的末尾,我回收了bm并将其设置为null。但同样,每次调用我的方法时,我的堆都会增长。每次直到抛出OutOfMemoryError。 最佳答案 问题在于,在Android3.x之前,位图可能需要几个GC周期才能在Android上正确发布。即使您调用recycle(),我相信至少在下一次GC之前位图

android - 内存不足错误 : Android large Bitmap rotation (90°)

我有一个很大的内存问题://insourceImageisabigJPEGpreviouslyloadedMatrixmat=newMatrix();mat.postRotate(90);BitmaprotatedImage=Bitmap.createBitmap(sourceImage,0,0,sourceImage.getWidth(),sourceImage.getHeight(),mat,true);我总是运行这段代码,我的应用程序崩溃并提示“VM不允许我们分配xxxxxx字节”你能帮帮我吗?编辑:我在这里看到很多类似的问题,但我不知道如何在旋转之前回收sourceImage.

Android:相机、onSurfaceTextureUpdated、Bitmap.getPixels - 帧率从 30 下降到 3

在尝试获取相机预览的像素时,我的表现非常糟糕。图像格式约为600x900。在我的HTCone上,预览速率非常稳定,为30fps。一旦我尝试获取图像的像素,帧率就会下降到5以下!publicvoidonSurfaceTextureUpdated(SurfaceTexturesurfaceTexture){Bitmapbmp=mTextureView.getBitmap();intwidth=bmp.getWidth();intheight=bmp.getHeight();int[]pixels=newint[bmp.getHeight()*bmp.getWidth()];bmp.getP

安卓 : Exif of a Byte[] or Bitmap object

是否可以读取Byte[]或Bitmap对象的Exifheader而不将其写入磁盘?我只找到一个构造函数ExifInterface(Stringfilename),而且似乎不可能做到这一点。能否确认一下?否则,我如何将该位图保存在缓存目录中并取回以读取Exifheader? 最佳答案 你可以使用我的metadata-extractor图书馆。它具有从byte[]、流、文件...解码Exif(和其他格式)的类像这样的东西应该可以工作:Metadatametadata=newMetadata();newImageMetadataReade

使用 surfaceview、canvas - Drawable 或 bitmap 的 Android 游戏

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭2年前。Improvethisquestion我正在SurfaceView中开发游戏。它涉及大约15-20张图像,其中一些图像很大,平均分辨率为320X400。我有两个问题-我将图像用作Drawable并使用drawable的draw(canvas)方法在屏幕上绘制图像。我看到在一些游戏中人们使用Bitmap而不是Drawable在屏幕上绘制图像,将图像用作Drawable或Bitmap有什么区别安卓游戏。在Canvas上绘图时,哪个内存效率更高,哪

android - Cant parcel a recycled bitmap 错误

我正在尝试将图像添加到相机表面View,并尝试使用以下代码获取该图像。elseif(v.equals(findViewById(R.id.ok_button))){//saveImage();topbar.setVisibility(View.GONE);menubar.setVisibility(View.GONE);bottom.setVisibility(View.GONE);Views=ml.getRootView();s.setDrawingCacheEnabled(true);Bitmapb=s.getDrawingCache();Bitmapwatermarkimage=

android - Bitmap.Options.inSampleSize 应该如何工作?

初始代码是官方文档:LoadingLargeBitmapsEfficiently.我开始四处寻找,发现图像不会按照documentation中的描述调整大小。:Ifsettoavalue>1,requeststhedecodertosubsampletheoriginalimage,returningasmallerimagetosavememory.Thesamplesizeisthenumberofpixelsineitherdimensionthatcorrespondtoasinglepixelinthedecodedbitmap.Forexample,inSampleSize

Android - Bitmap.createScaledBitmap() 将 Config 设置为 ARGB_8888

这是我第一次遇到一个问题,尽管进行了彻底的搜索,但似乎还没有人问过。我在使用Bitmap.createScaledBitmap()时遇到问题,无论输入的配置如何,生成的缩放位图始终是ARGB_8888。在内存有限的情况下,这自然是个问题。InputStreamis;try{is=mAssets.open("test.png");BitmapFactory.Optionsopts=newBitmapFactory.Options();opts.inPreferredConfig=Config.ARGB_4444;BitmaporiginalBitmap=BitmapFactory.dec

android - 为什么用inBitmap解码位图总是得到java.lang.IllegalArgumentException : P ro blem decoding into existing bitmap

我正在使用inBitmap在android3+上加载位图。但我总是得到java.lang.IllegalArgumentException:Problemdecodingintoexistingbitmap.在LruCache的entryMoved()功能:我使用reusableBitmaps.add(newSoftReference(oldValue.getBitmap()));保留位图。下次加载位图:我在reusableBitmaps上使用迭代器来查找我可以将哪个用于inBitmap,我使用迭代器来查找哪一个,就像在官方开发者网站上管理内存一样。但不幸的是,总是失败,logcat显

android - java.lang.OutOfMemoryError : bitmap size exceeds VM budget - android - how many images? 错误

这个问题在这里已经有了答案:java.lang.OutOfMemoryError:bitmapsizeexceedsVMbudget-Android(13个答案)关闭3个月前。我正在开发一个Android应用程序,当我阅读所有内容并自学时,我不能同时在屏幕上显示很多图像,否则我会遇到异常。问题是我可以在屏幕上同时拥有多少图像或多少KB图像或多少布局/图像。我知道这不是唯一影响内存的东西,但我正在寻找一个数字,以便我可以围绕它进行计划。谢谢丹尼尔编辑:我刚刚在android开发站点(http://developer.android.com/resources/articles/futur