在处理位图时,我的 android 应用程序出现了一些内存问题(呃!)。
我们有多个活动从服务器加载图像,这可能是活动的背景图像。对于多个活动,这个背景图像可能是相同的,现在每个活动都在加载自己的背景图像。这意味着如果流程是 ac1->ac2->ac3->ac4,则相同的图像将被加载 4 次并使用 4x 内存。
如何针对这种情况优化图像处理?我是否创建存储图像的图像缓存,然后每个活动首先向缓存询问图像。如果是这种情况,我怎么知道何时从缓存中垃圾收集图像?
非常感谢任何建议、指向好的教程或类似内容的链接。
问候
编辑:在为设备下载图像时,会使用确切的尺寸,这意味着如果 ui 元素需要 100x100 像素的图像,它会获得该尺寸,因此不需要缩放。所以我不确定在将图像加载到内存时是否会缩小图像。可能需要在下一个移动时卸载活动中的图像,然后在返回时重新加载。