【问题标题】:Preferred way to fetch/show images on Android?在 Android 上获取/显示图像的首选方式?
【发布时间】:2016-02-28 13:44:52
【问题描述】:

让我们考虑以下问题,我有一个应用程序,其中包含几十张照片,我想在任何给定时间向用户展示。

现在我正在为每个图像创建多个文件,根据不同的屏幕尺寸调整它们的大小并将它们存储在各自的可绘制文件夹中。

它极大地增加了我的应用程序的大小。

所以这是我的问题:是否可以将图像存储在服务器上并使用像 Picasso、Fresco 或其他东西(对任何东西都开放)这样的图像库来获取该图像并将其按比例缩小以适应运行它的设备不用冒内存不足的风险?

我担心获取大图像,将其加载到内存中然后调整大小会导致与尝试在可用内存很少的旧设备上显示相同的问题。

【问题讨论】:

    标签: android image-processing android-image picasso


    【解决方案1】:

    您可以编写方法来根据客户端信息从服务器请求不同的图像大小。只需编写一个方法来测量屏幕大小,然后根据 URL 端点(如http://myimageserver.com/images/ldpi/image1.png)请求适当的图像。

    您可以在将图像保存到本地文件存储之前进行下载后优化,例如缩放。

    【讨论】:

      【解决方案2】:

      使用信誉良好的图片加载库是一种有效的方法(我自己最喜欢的是Glide)。

      您的问题的答案实际上取决于您要显示的图片数量!如果有很多,那么将它们存储在服务器上可能是最好的,但也是最耗时和最昂贵的(包括时间和金钱)。

      您的另一个(更简单的)选择是将原件保存在assets 文件夹中,并使用您的图像加载器为您缩放和加载它们。资产文件夹中图像的正确路径是 file:///android_asset/your_image_here.jpg。这样,您只需在您的 apk 中保留每张照片的一个版本,它们的加载速度会更快。

      【讨论】:

        猜你喜欢
        • 2010-09-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-27
        • 2019-03-13
        • 2021-03-06
        相关资源
        最近更新 更多