我拥有一台 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/