当前位置:   article > 正文

Flutter加载大图内存问题处理_flutter photo_manager

flutter photo_manager

结论先行:

  • photo_manager库 靠谱,满足相册、图片列表内存的使用
  • cacheWidth、cacheHeight 在Image层次上的满足,如果一个页面内固定几张图,推荐这种
  • width、height,对内存优化无效
    • 会先解析原图,4.2M的图,会暴增到121.9 M,然后再resize降低内存
字多的结论
  • 使用photo_manager库 靠谱,好用,内存测过没问题 (成熟,靠谱,推荐使用)
    • 关键就是自定义 ImageProvider,将图片加载导向native
    • Android端用的Glide库管理,IOS用的原生API
    • 源代码对应下文的 成熟的第三方库处理
  • cacheWidth,cacheHeight 影响图像载入内存大小,可进行resize
    • 内存会显著降低(可用,底层代码后续写,测试具体数据看这个
    • Anyway,重点不是cacheWidth、cacheHeight,它没有内存管理,也没三级缓存。适用于一个页面周期内 单个图片。相册、图片列表、图片瀑布流是不适合的。
  • width、height 对内存的占用不产生影响
    • 会产生峰值,之后resize掉(resize是哪里操作,后续补充) (当然,这也可以说产生影响。)
    • 不过这个峰值 就够OOM了
版本变更

Flutter做了升级,对cacheWidth、cacheHeight。具体见提交

When down-scaling images, decode encoded images into smaller images
closer to the target size before finally down-scaling

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/341797?site
推荐阅读
相关标签
  

闽ICP备14008679号