我知道管理图像是我们需要非常小心的事情,主要是关于使用内存。
在我的情况下,我使用AVD管理器测试我的应用程序,在某些情况下我使用手机。问题是当我在模拟器中测试我的应用程序时,用于特定活动的内存量大约为25 MB。另一方面,当我在手机中测试我的应用程序时,内存量或多或少达到60 MB。 很高兴知道两种设备具有相同的分辨率:1080 X 1920。 管理图像的库是Glide,布局包括:
问题是:这种差异是否正常?
答案 0 :(得分:0)
您可以使用LruCache
来限制图片的缓存大小
首先,在设置MaxMemory
之后,您将获得cacheSize
,之后您可以对LruCache
进行简单的初始化。
希望能帮助你。
答案 1 :(得分:0)
可能是垃圾收集。您的模拟器可能没有设备的内存,因此垃圾收集更具侵略性。您可以调用System.gc()来尝试在代码中的同一点强制进行垃圾收集,然后内存可能是相同的。不需要把它留在那里。