gpt4 book ai didi

android - 在不加载到内存的情况下裁剪图像

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:37 24 4
gpt4 key购买 nike

我想裁剪大尺寸的图像并尝试使用 Bitmap.createBitmap 但它给出了 OOM 错误。此外,围绕 createBitmap 尝试了多种技术,但都没有成功。

现在我正在考虑将图像保存到文件系统并裁剪它而不将图像加载到内存中,这可能会解决问题。但是不知道怎么做。

用户流程:用户可以在每个快照用户手动裁剪后从应用内相机拍摄多张照片,或者应用会在某些预定义登录时静默裁剪,然后将这些图像发送到服务器。

任何人都可以指导我如何实现这一目标吗?

最佳答案

有一个类叫做BitmapRegionDecoder这可能对您有帮助,但它可从 API 10 及更高版本获得。

如果你不能使用它:

许多图像格式都经过压缩,因此需要以某种方式加载到内存中。

您需要阅读最适合您需要的图像格式,然后自己阅读,只使用您需要的内存。

一个更简单的任务是在 JNI 中完成这一切,这样即使您将使用大量内存,至少您的应用程序不会很快进入 OOM,因为它不会被限制到最大强加于普通应用程序的堆大小。

当然,既然android是开源的,你可以尝试使用BitmapRegionDecoder,任何设备都可以使用。

关于android - 在不加载到内存的情况下裁剪图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16223062/

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