随着硬件配置的不断提升,RAM的大小从之前的几百兆提升到了现在的几十G的情况,特别是在消费级智能手机上,最大的运行内存几乎每年都能刷新最高值。
但是在很多低端的产品或者工业级的产品上,目标客户需要运行的程序不多,处于成本考虑仍旧会搭载1G RAM这样的配置,这就要求厂商在出厂之前做出一定的优化。同时针对低RAM的设备,Google也早就推出了Android Go的系统,去除了很多不必要的功能,使得低RAM的设备也能运行流畅。
在Android中,查看剩余存储的大小有很多种方式。不过我们一般说到剩余存储,通过如下方式查看,通过其中的MemAvailable的来得到可用的存储大小。
注意这里并不是查看的MemFree的值,这跟Android的设计理念相关。Android会让free的RAM
尽可能的小,使得尽可能多的应用能够常驻,这样在启动应用的时候速度会更快,用户体验会更好。在可分配RAM不够的时候或者触发kswapd阈值的时候,kswapd会负责回收缓存页来确保RAM,当kswapd回收还是无法满足时候,还会触发LMK来杀死常驻进程来获取内存。
# cat /proc/meminfo
MemTotal: 896396 kB
MemFree: 23640 kB
MemAvailable: 420944 kB
Buffers: 2496 kB
Cached: 391088 kB
SwapCached: 13960 kB
Active: 278424 kB
Inactive: 247748 kB
Active(anon): 76496 kB
Inactive(anon): 62432 kB
有时候在做新项目评估的时候,经常会用之前的项目去评估新项目情况下的可用RAM的情况。屏幕分辨率对可用存储的影响非常的大,高分辨率意味着系统中用的是更高清的图片资源,自然会占用更多的RAM。
我们可以通过下面的adb命令查看机器的分辨率
$ adb shell wm size
Physical size: 720x1560
如果发现当前设备的分辨率与预研项目的分辨率不一致,可以使用下面的方式设置为对应的分辨率。
$ adb shell wm size 480x960
设置完之后再查看可以看到新的分辨率配置已经override了,在Android系统上也会看到直观的变化。
$ adb shell wm size
Physical size: 720x1560
Override size: 480x960
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。