美文网首页android内存管理
快速降低运行时内存的方法

快速降低运行时内存的方法

作者: 朱_c713 | 来源:发表于2020-03-17 14:10 被阅读0次

原来的项目中代码如下:

fun loadImage(context: Context, imageUrl: Any?, view: ImageView, type: Int) {
    val myOptions = RequestOptions()
        .transform(GlideRoundTransform(7)) 
            Glide.with(context).load(imageUrl).apply(myOptions)
                .diskCacheStrategy(DiskCacheStrategy.NONE).into(view)
            println("圖片位址:$imageUrl")   

}

运行发现图片占用内存达到140兆左右。

没有对图片做缩放的处理
做了缩放处理后,运行时图片占用内存,从140m,到40兆左右。

fun loadImage(context: Context, imageUrl: Any?, view: ImageView, type: Int) {
   val myOptions = RequestOptions().override(300,300)
       .transform(GlideRoundTransform(7))
           Glide.with(context).load(imageUrl).apply(myOptions)
               .diskCacheStrategy(DiskCacheStrategy.NONE).into(view)
           println("圖片位址:$imageUrl")   

}

后来反复测试,感觉是误判。目前尚不清楚,为什么图片占用内存,一次运行,全是140左右(偶先),之后多次,两种代码都是四十多。
并且,感觉as有bug,后面图片内存一直显示42.2没动过,大神知道是申请情况么。


image.png

glide使用硬盘缓存策略的配置。

磁盘缓存策略(diskCacheStrategy)
Glide磁盘缓存策略分为四种,默认的是AUTOMATIC 智能缓存


image.png

1.ALL:缓存原图(SOURCE) 和缩略图
实测:显示效果不理想,滑动不流畅。
2.NONE:什么都不缓存
实测:显示效果不理想,item图片很久才能看到。
3.SOURCE:只缓存原图(SOURCE)
实测:和All的感觉差不多。
4.智能
最流畅,内存比较高。

在Adapter中加载图片采用以上缓存策略。

相关文章

  • 性能优化

    一。内存优化的方法就是: 1.降低运行时内存,2.代码优化,3.内存泄漏优化 (一)。降低运行时内存 1. 减少a...

  • 快速降低运行时内存的方法

    原来的项目中代码如下: 运行发现图片占用内存达到140兆左右。 没有对图片做缩放的处理做了缩放处理后,运行时图片占...

  • Learning Efficient Convolutional

    目标:压缩模型尺寸,降低运行时的内存占用,降低计算复杂度,不损失模型精度 方法:channel-level压缩利用...

  • Unity中的GC优化

    Unity 的 Mono 引擎等运行时系统会自动管理内存,不仅书写方便而且大大降低了内存泄漏的可能性(即分配了内存...

  • java面试jvm总结

    JVM→ JVM 内存结构运行时数据区:堆、栈、方法区、直接内存、运行时常量池、堆存放对象, 方法区他用于存储已被...

  • Android内存

    Android内存优化 Java内存模型 运行时数据区分为几个部分 从上图可以看到运行时候分为: 方法区 堆栈区 ...

  • JVM原理简述

    一.运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、堆、本地方法栈、程序计数器,...

  • 深入理解java虚拟机 精华总结(面试)

    一、运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,...

  • 深入理解java虚拟机 精华总结(面试)

    一、运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,...

  • 深入理解java虚拟机 精华总结(面试)

    一、运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区、虚拟机栈、本地方法栈、堆、程序计数器,...

网友评论

    本文标题:快速降低运行时内存的方法

    本文链接:https://www.haomeiwen.com/subject/dprtyhtx.html