【问题标题】:How to store large number of .png images in android drawable?如何在android drawable中存储大量.png图像?
【发布时间】:2017-08-17 13:53:09
【问题描述】:

我是 android 新手,我正在做一个项目,我正在使用 50 多个图像,其中包括图标和背景图像。根据 android doc,对于响应式 UI,我必须以 4 种格式存储每个图像,即 hdpi、mdpi、xdpi 和 xxdpi。我遵循了同样的方法,但之后我注意到我的可绘制文件夹中有 200 张图像(50 * 4)。所以我的问题是我是否做正确的事?因为它增加了我的项目规模。

【问题讨论】:

标签: android responsive-design


【解决方案1】:

我做的是否正确?

如果您将这 200 张图片存储在您的应用程序中,那么绝对不会,因为您的应用程序大小太大并且没有人可以下载该应用程序,而且存在一些性能问题,所以这根本不是正确的事情

答案 1 -

最好的方法是使用 fontawesome 这些会从您的 ttf 文件动态生成图像,您只需要 font.ttf 文件,但这种方法的缺点是免费版本的字体/图像数量较少如果您想要的图片数量多于您必须支付的费用,您可以参考this

答案 2 -

选择云存储意味着您需要将图像存储在云存储中,而不是从云中下载它们提供用于上传和下载图像的 API,请参阅 this 但我建议您选择 cloudinary.com 我已经使用了这个并且易于实现的 API,几乎所有语言的 API 及其免费的免费的......

祝你好运

【讨论】:

  • 谢谢苏珊特!如果我实施您的第二个答案,那么应用程序是否存在任何性能问题?我问这个是因为我们会调用 api 来获取每一张图片,所以每次调用 api 都是可行的?
  • 不,如果您使用 Picasso lib 和许多其他库,则不会出现任何性能问题,它们还为您提供了上传和下载图像的简单实现,并且下载和显示不需要太多时间在图像视图中............这种方法受到大多数公司的高度青睐
  • 但我会选择我的第一个答案,因为不需要存储和下载图像它只是简单的文本视图,而且您可以随时动态创建图像.....它给了你更灵活地从服务器端动态更改图像?你明白了吗?
【解决方案2】:

您必须尝试矢量可绘制图像。它包含代码路径,因此它会自动扩展为所有大小。

更多信息

https://developer.android.com/guide/topics/graphics/vector-drawable-resources.html

https://developer.android.com/studio/write/vector-asset-studio.html

【讨论】:

  • 感谢@Raja,我浏览了那些链接,他们提到 Vector Asset Studio 会为每个图像创建新的 xml 文件。所以在我的情况下,将有 50 个 xml 文件。是否有其他替代方法可以减少更多尺寸?
  • 没有其他办法.. 与 .png 等相比,矢量可绘制图像的尺寸非常小,一些图标或符号使用如字符串代码(卢比符号 = "\u20B9")跨度>
  • 但是 raja ..如果我想制作复杂的图像,创建这种矢量绘图将花费太多时间,对于大型和复杂的图像是否可行??
猜你喜欢
  • 2012-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-16
  • 2012-07-09
  • 2018-09-04
  • 1970-01-01
  • 1970-01-01
  • 2012-01-21
相关资源
最近更新 更多