Android onPictureTaken 回调在 Bitmap.decodeByteArray 中抛出内存异常

标签 android camera out-of-memory

我拥有一台 Samsung Galaxy S3,它能够拍摄大小约为 3000 x 2000 的照片。而且,我目前正在开发一个需要拍摄照片的应用程序。我将手机用作调试器,并设置设备为要捕获的图片提供的最佳尺寸。

但是,如果我使用此设置,回调 onPictureTaken 在我尝试解码的 Bitmap.decodeByteArray 方法的第一行给出内存不足错误将捕获的字节转换为位图。如果我使用 Bitmap.Options.inSampleSize = 2,不会发生内存不足错误。

我希望应用程序能够捕捉设备提供的最佳效果,并且设备在其自己的相机应用程序中执行此操作,但我不能在我的应用程序中执行此操作。我不明白。我该如何克服这个问题?

最佳答案

http://www.youtube.com/watch?v=_CruQY55HOk . Android custom view Bitmap memory leak .也看看这个视频。谈论应该有帮助的 MAT 分析器。在不使用时回收位图

关于Android onPictureTaken 回调在 Bitmap.decodeByteArray 中抛出内存异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13725082/

相关文章:

java - Android - 音频记录 : Detect a pulse-width modulated signal over the audio jack (mic)

android - FragmentActivity 上的 ActivityNotFoundException

android - Gradle - 带有库的 Android 应用程序的依赖替换

android - 如何打开Android前置摄像头 Intent

java - 如何处理不断更新的大图像

android - 内存异常会导致 NullPointerException 吗?

java - 调用接口(interface)方法而不指定实现接口(interface)的类

android - setPreviewSize 仅在某些设备上无法正常工作

iphone - 如何开发人脸识别 iPhone 应用程序?

mysql - Node - 数据库工作内存不足的大型 for 循环