android - 活动在后台时如何处理位图?
问题描述
我的情况是,您有多个活动,这些活动具有不同的活动,显示不同的图像(通常由 Glide 加载)。
想象一下,我们在这样的架构中标记.skipMemoryCache(true)
:
通过这样做(所有活动都堆叠起来,可以通过按下后退按钮访问),我意识到以下几点:
像 OnePlus 3(2016 年,3 岁)这样的手机不会崩溃,但会导致高温和糟糕的用户体验(它滞后于渲染)。这是 OnePlus 3 的配置文件:
三星 S4 Mini(2013 年,6 岁)等手机不会崩溃,但会停止加载图像。
摩托罗拉 Moto G(2013 年,6 岁,比三星 S4 Mini 稍好)等手机会在使用位图进行两三次活动后崩溃。
现在我的问题是,根据如何避免内存泄漏和 OOM(内存不足)错误的指南,我不会找到类似“不要堆叠高资源活动”的内容。这是我做错了什么,还是活动应该在什么时候处理一些特别的事情onPause()
?
解决方案
推荐阅读
- javascript - 我做了一张卡片,我想循环整个卡片组件
- plot - 编写一个用于在图中添加图例的 MAPLE 程序
- node.js - 为什么 publish() / connect() 适用于 of() 但不适用于自定义主题?
- grafana - 如何将 Grafana 中的所有数据导出为 Excel/PDF
- c - 为什么 if 链不在此代码中开始?
- angular - 使用角度计算文本区域中的字符
- java - Random numbers in an array without duplicates
- kubernetes - Kubernetes 中容器化的不安全注册表
- google-sheets-api - 如何读取命名范围内的数据?
- javascript - 滑块中的Reactjs意外useState行为