【问题标题】:Is cache as efficient as VM/heap?缓存和虚拟机/堆一样高效吗?
【发布时间】:2011-07-13 20:38:00
【问题描述】:

我是 BitmapFactory.decodeResourcing,然后缩放存储在 /res 中的 jpg 图像 (600x400) 以用于画布上的动画。由于位图是解码后直接使用的,所以动画又快又漂亮。

从缓存或内部存储文件中写入和读取这些位图是否会像解码后直接使用时一样快速有效?

换句话说,当从缓存或内部存储文件中读取位图时,是否会再次解码?

缓存和内部存储文件是否具有与堆内存相同的 16-24MB 限制?

它们是一样的吗?

【问题讨论】:

    标签: android caching memory heap-memory


    【解决方案1】:

    我认为从 /res 和内部存储文件夹读取是等效的。

    但是,我不确定您所说的“缓存”指的是什么。如果您正在谈论将位图保存在内存中而不是对其进行解码,那么我认为这会快得多。

    【讨论】:

    • 缓存,例如,按照“奇怪的内存错误”线程stackoverflow.com/questions/477572/…中建议的哈希图@
    • 啊,是的,将内容保存在内存中更快,但您必须限制内存使用量。你所说的缓存是堆内存。
    • 酷,这回答了我的问题。但提出了另一个。我可以将原始位图写入 sdcard,因此不必使用 BitmapFactory.decodeFile 再次解码?
    • 嗯,我认为解码比从闪存中读回位更快。不过不确定。
    猜你喜欢
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 2012-11-17
    • 1970-01-01
    • 2013-02-18
    相关资源
    最近更新 更多