ganguo
ganguo copied to clipboard
请教一下 大神的图片墙的缓存是怎么处理的
大神应用的代码似乎把图片的所有资源都缓存了,但是内存似乎一直保持在80~90mb左右,是在哪里做了释放呢,且滑倒下面去之后再划上来,图片依然显示出来了,好像图片内存缓存并没有清一样 可否简单说说 大神的内存怎么处理的呢? 我这边做了很多处理 依然会有oom的存在。。
使用glide加载图片就行了,缓存什么的都不用操心了
我用了glide加载图片oom了 才去处理的啊
https://github.com/BlackC0/Gank.git 这是我的一个gank项目,我在测试后(福利墙不断往下拉加载图片)发现即使我是glide忽略内存缓存也会oom 也就是说 只要是在图片墙不断往下拉就会造成oom 这看起来很像是imageview没有复用所致 但是我用的recycleview自带的viewholder啊 不知大神能否拜读一下我的代码呢?
好的我帮你看下
我是借鉴着大神的页面布局写的(害羞)
你写的rv的adapter没有引用对应的viewholder ,导致rv的item没有复用而造成oom了
可是我的VH 是继承rv的,虽然没有限定自己写的vh,这样会导致rv不复用item吗?
比如我的首页也是这样写的,可是并不会oom,里面使用两种vh,那标准写法 当有复数vh的时候,应该怎么写呢?
刚测试了 还是会oom的 内存达到300多m之后死的
明天我再看下 今天下班了~
我水平有限,没找到oom的原因,我比对了一下内存占用,发现你的程序没有过明显的gc过程。而我写的也是靠不断gc来维持内存的使用率。
emmmm... 我后面log了一下onCreateViewholder和onBindViewHolder的次数 发现确实没有复用item 而是不断创建新的vh 两个adapter都是
但是为什么没有复用item 我就看不出来了...
大佬留下邮箱,我们漂流瓶见