【问题标题】:Standard image gallery app标准图片库应用
【发布时间】:2013-03-10 16:58:17
【问题描述】:

我正在尝试编写可以在照片之间滑动的简单应用程序(例如每台设备上的标准图库应用程序)。标准版展示了令人印象深刻的性能——它会立即显示下一张照片,而只占用大约 15 MB 的内存。似乎它将下一张和上一张图像保留在内存中,因此不会因从 sd 卡加载它们而产生延迟。我认为如果应用程序在内存中至少保留 3 个这样大小的 Bitmap 对象,它将占用超过 15 MB 的空间。那么它是如何工作的呢?不要使用Bitmap 或什么?谢谢。

【问题讨论】:

    标签: android memory optimization bitmap gallery


    【解决方案1】:

    请记住,屏幕上的位图可能不是原始文件的大小。

    以 720p 屏幕为例,4096*3072 图片将被解码并重新调整为屏幕尺寸。

    即使是APP也可能使用ARGB8888格式显示位图,内存大小为1280*720*4 = 3686400字节,也就是3.5M左右。

    如果我们使用RGB565格式,那么尺寸会小一半。

    更重要的是,并非所有图片都是“全屏”。

    【讨论】:

    • 感谢您的回复。是的,这是有道理的,但是您可以轻松缩放图像,因此应用程序应该将图片保持在原始大小,不是吗?
    • 外部存储上的图像是原始大小。但是要将图像解码为 bmp 格式并将其保存在内存中,不应该使用巨大的尺寸。一张 4096*3072 的图片可能需要 50Mbyte!在移动设备上是不合理的。
    • 是的,但是当图像被最大程度地缩放时,我可以在它周围移动并且它非常大,看起来它真的有 8Mpixels 并且应用程序只需要 15 MB 的内存,就像缩放之前一样。它是我无法访问的一些设备低级特殊技巧吗?
    猜你喜欢
    • 2016-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多