gpt4 book ai didi

java - Android系统上如何通过phonegap访问SDCARD中的图片

转载 作者:行者123 更新时间:2023-12-01 04:47:43 25 4
gpt4 key购买 nike

我创建了一个 canvas(html5) 元素来让用户在其上绘图,绘图后,他们可以保存(一个按钮)它: canvas.toDataURL("image/png"); 将是执行后,编码后的 base64 dataURL 字符串将存储到文件中。但我需要让用户查看他的画。


问题是:当用户在文本文件中保存许多故事字符串并且文件系统读取它时,内存将会泄漏。
PhoneGap 提示:java.lang.OutOfMemoryError,因为用户保存了太多的 dataURL 字符串。由于所有这些都必须重新加载到数组中,因此会发生错误。

我想如果我将用户的绘图保存为 image 格式(.jpg)而不是 base64 dataURL,它会起作用吗?

  1. 它能解决内存泄漏问题吗?
  2. 如何检索存储在以下路径中的图像:sdcard/story/pics/
    如果我只想访问录制的文件,我可以这样写:

    var record= new Media(src,onSuccess, onError); src 可以是:story/rec/something.mp3但我无法像这样访问图像。

  3. 该解决方案也应该适用于 iOS,因为我必须将该应用部署到 iPad。
    开发环境:
    PhoneGap 1.8.0
    安卓4.0.3

最佳答案

我在处理二进制文件时遇到了类似的问题,坏消息是您无法将二进制数据写入文件系统,因为二进制数据无法通过桥传输到 native 代码中。

我最终编写了一个插件来进行二进制操作(或者更确切地说是三个插件,一个用于 iOS,另一个用于 Android,第三个用于 BlackBerry)。

我不确定是什么导致了内存泄漏,但我建议一次只在内存中保存一幅图画,除非您允许在图像之间进行复制和粘贴,在这种情况下,我会将应用程序限制为两个图像立即内存。

无论泄漏是什么,都会严重耗尽所有可用内存,因为大多数现代 Android 设备上都有相当多的内存。

关于java - Android系统上如何通过phonegap访问SDCARD中的图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15553233/

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