【问题标题】:Embedding base64 encoded images in XML files (android-java)在 XML 文件中嵌入 base64 编码图像 (android-java)
【发布时间】:2015-03-23 20:23:38
【问题描述】:

我正在开发一个项目和主题交付系统(如果我可以这么说的话),我想把从小部件布局到任何必要图像的所有内容都放在一个 xml 文件中。不用说,图像必须以 base64 编码。(或者还有其他方式吗???)现在的问题是考虑到我们在移动设备领域,关于内存或解码中等大小的图像是否会有任何问题(可能在最多 50KiB ) 或任何其他问题?

xml 主题的假设示例是:

<?xml version whatever?>
<theme>
     <positionx id="foo">5</positionx>
     <positiony id="foo">6</positiony>
     <icon id="foo">BASE64_ENCODED_IMAGE_HERE</icon>
     <positionx id="bar">5</positionx>
     <positiony id="bar">6</positiony>
     <icon id="bar">BASE64_ENCODED_IMAGE_2_HERE</icon>
</theme>

注意:最后的主题并不完全像这样。这只是一个例子,让你们知道我的意思。谢谢

【问题讨论】:

  • 我不明白你在这里的意思I wanna put everything from the widgets layout to any necessary images in an xml file。你能扩展一下你的问题吗?
  • 我想更好(更快)的方法是只将图像链接放在 XML 中,然后在需要时下载它们。将二进制数据存储在字符串中通常不是一个好习惯
  • @AndyRes 我更新了我的问题。谢谢
  • @Droidman 你所说的(远程图像)真的很好,但不幸的是,对于我的用例来说,它根本不理想。还是谢谢

标签: java android xml base64


【解决方案1】:

Base64 在 char 中携带 6 位有效负载,这意味着您需要 4/3 的大小来表示文本; 50 KiB * 4/3 = 67 KiB。

然而,XML DOM 本身就很重,所以虽然可行,但您可能不想要额外的资源、转换需求(文本和二进制结果的速度和双倍内存)。

即使我的结论或多或少是否定的,您的模型驱动方法肯定是一个好主意。您可以从原始 XML 生成运行时数据。

【讨论】:

    猜你喜欢
    • 2016-04-04
    • 2014-08-01
    • 2014-01-19
    • 1970-01-01
    • 1970-01-01
    • 2017-07-10
    • 2017-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多