gpt4 book ai didi

java - BitmapFactory.decodeByteArray 内存不足

转载 作者:行者123 更新时间:2023-12-02 13:56:54 25 4
gpt4 key购买 nike

我正在尝试从Camera.PictureCallback onPictureTaken获取Jpeg,但是当我这样做时

bitmapImage = BitmapFactory.decodeByteArray(data, 0, data.length);

这是第一次出现在 logcat 上:

将堆( fragment 情况)增长到 48.886MB,以分配 15728656 字节

当我尝试重新拍摄照片时,应用程序崩溃并显示以下堆栈跟踪:

java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeByteArray(Native Method)
at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:603)
at android.graphics.BitmapFactory.decodeByteArray(BitmapFactory.java:626)
at com.delsorboilario.brianzashop.Scatta$5.onPictureTaken(Scatta.java:216)
at android.hardware.Camera$EventHandler.handleMessage(Camera.java:987)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:146)
at android.app.ActivityThread.main(ActivityThread.java:5511)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)

这是代码:

android.hardware.Camera.PictureCallback jpegCallback = new android.hardware.Camera.PictureCallback() {
@Override
public void onPictureTaken(byte[] data, android.hardware.Camera camera) {

bitmapImage = BitmapFactory.decodeByteArray(data, 0, data.length);


Uri tempUri = getImageUri(getApplicationContext(), bitmapImage);

File finalFile = new File(getRealPathFromURI(tempUri));

System.out.println("aaaaaa "+finalFile);


}
};

编辑

按照 MicheleLacorte 的建议,我尝试在获取 File FinalFile 后回收位图

没问题,但是当我尝试显示该路径中的图像时,我遇到了同样的错误。

最佳答案

在 Android 中加载大位图确实很困难看看这个

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

关于java - BitmapFactory.decodeByteArray 内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31387547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com