java - 在 Android 应用程序中添加许多已保存的图像

标签 java android android-imageview

我正在尝试构建的应用程序将显示大量图像(在 ImageView 中),并且我不会从服务器/在线服务中获取它们,因为它需要离线使用。我知道我可以将它们转储到 res/drawable 目录中,但我想知道是否有任何方法可以优化它。有没有办法以某种方式压缩这些图像(除了让它们变小,它们已经和我需要的一样小)或使用其他类型的 android 工具更好地将它们存储在设备本地?

我可能只是忽略了一个很好用的功能,如果是这样,如果有人能指出我这一点就太好了。

编辑:如果我要以某种方式压缩图像,我将需要在运行时解压缩或进行其他操作,这将占用另一个线程/加载时间。我也不确定该怎么做,所以我只是在集思广益,我想这里的某个人会在某个时候遇到这个问题。

最佳答案

如果您还没有读过,这是一本好书 - http://developer.android.com/guide/practices/ui_guidelines/icon_design.html#design-tips

When saving image assets, remove unnecessary metadata

Although the Android SDK tools will automatically compress PNGs when packaging application resources into the application binary, a good practice is to remove unnecessary headers and metadata from your PNG assets. Tools such as OptiPNG or Pngcrush can ensure that this metadata is removed and that your image asset file sizes are optimized.

在所有其他压缩逻辑之外,以上内容将是开始的地方。此外,当您说“优化”时 - 您的意思是优化图像/绘图在您的应用程序中的加载方式,还是仅优化应用程序将占用的(磁盘上的)空间量?

关于java - 在 Android 应用程序中添加许多已保存的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11833806/

相关文章:

java - 乐观锁和并发

android - 带有 ExpandableHeightGridView 的 ScrollView 不滚动

android - 将 Activity 1 中的 View 转换/动画化为 Activity 2 中的 View

android - 如何在 ImageView 中缩放自己的可绘制对象

android - 从 RemoteViews 调用 setImageDrawable

java - Play 框架应用部署

javax.命名.NamingException : WFLYNAM0027: Failed instantiate InitialContextFactory

java - 如何更改默认的 "Validation Error: Value is not valid"消息?

javascript - Epub.js - 由于 blob URI,Phonegap 无法正常工作

android - 使用 Picasso 更改方向后未应用图像转换