繁体   English   中英

如何在Android系统上使用phonegap访问SDCARD中的图片

[英]How to access the picture in SDCARD with phonegap on Android system

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


这是一个问题:随着用户将许多故事字符串保存在一个文本文件中,并且filesystem读取了它,内存将泄漏。
PhoneGap抱怨: java.lang.OutOfMemoryError ,因为用户保存了太多的dataURL字符串。 由于所有这些都必须重新加载到阵列中,因此会发生错误。

我想如果将用户的图形保存为image格式(.jpg)而不是base64 dataURL,是否可以使用?

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

    var record= new Media(src,onSuccess, onError); where the src could just be: story/rec/something.mp3 var record= new Media(src,onSuccess, onError); where the src could just be: story/rec/something.mp3但是我无法以这种方式访问​​图像。

  3. 该解决方案也应在iOS上运行,因为我必须将应用程序部署到iPad。
    Develop Environment
    PhoneGap 1.8.0
    Android 4.0.3

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

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

我不确定是什么原因导致您的内存泄漏,但是我建议一次只能在内存中保存一张绘图,除非您允许在图像之间复制和粘贴,在这种情况下,我会将应用程序一次限制为两张图像。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM