后来出现了所谓内存压缩和Swap,代价是变卡和flash寿命缩减
所以现在一般没这么多花花绕绕,直接大内存,最多开内存压缩 看一下 /proc/swaps, 你的 android 设备使用的 swap 不一定是闪存, 可能是 zram slymitec 发表于 2024-3-8 11:11
嗯嗯,总之使用闪存当内存的广义上虚拟内存页面文件(或类似形式)这种方式都重点加以限制,避免io卡顿。 ...
swap 的作用只是充当紧急内存/禁用 swap 能改善性能也是常见的误解.
推荐阅读: https://chrisdown.name/2018/01/02/in-defence-of-swap.html slymitec 发表于 2024-3-8 11:06
我总觉得,内存不够造成卡顿的原因,是频繁动用虚拟内存页面文件。
毕竟闪存io性能摆在那里(远远不如内 ...
大概八九年前就不用flash做swap了,直接内存压缩,好几种方案,楼上的算其中一种
APP不管这个参数
这个参数的意义是告诉操作系统,什么时候清理APP,什么时候kill掉APP 会OOM啊,直接崩啊
这不是很显而易见的事情么 会变卡而已 slymitec 发表于 2024-3-8 12:36
根据本帖的上下文 是因为什么具体原因卡呢
app其实也想省点内存,但是这是要权衡的,一般多占用的都是用来做预加载和缓存为主,不够了就少缓存点,代价就是要等实时加载所以会变卡,当然比如你限制A的内存,那省下来的内存给b用,b是受益的 Android app卡不卡并不是看虚拟内存的页变动,你说的只是其中一个可能的因素。
Android app卡有很多方面的原因,比如ui绘制卡顿、cpu处理卡顿、内存抖动导致的卡顿、网络请求过慢、某个rom魔改底层代码、还有你提到的io卡顿等等也是有的。
常规情况下,界面绘制信号是16ms,因此只要你随便一个部分处理时间超过了16ms,就会发生丢帧,也就是卡顿。
像开发者就有很多工具去检测,比如systrace等,然而实际上用户上报的卡顿场景非常不容易复现而且很复杂,并不能全部都处理掉,都是尽可能的处理。
这种涉及到app优化的部分都是面试可以聊2个小时都聊不完的那种。
安卓手机内存都到16G 了 就跑一个微信 ,比电脑的内存都大了. slymitec 发表于 2024-3-8 12:00
具体程序代码设计的, 相当于申请堆内存失败返回null,程序员总得显式处理这个事情 ...
你好,不会的,现在有多少个会直接手动管理内存的,
安卓这种甚至跑jvm的,内存管理都基本上闭上眼睛用了。 国产 app 可不是吃素的,
一旦发现你做了这种限制,绝对给你使脸色看 YoshinoSakura 发表于 2024-3-8 07:21
你好,不会的,现在有多少个会直接手动管理内存的,
安卓这种甚至跑jvm的,内存管理都基本上闭上眼睛用了 ...
天天裸写mmap然后手动管理的路过 YsHaNg 发表于 2024-3-8 18:23
天天裸写mmap然后手动管理的路过
阁下恐怕不是一般码农吧 slymitec 发表于 2024-3-8 17:18
Java会直接报一场,理论上也得有trycatch异常处理代码
要么就是异常直接一层一层抛到最外层,就闪退。 ...
每个方法都try catch吗,是否有点过了这个 YoshinoSakura 发表于 2024-3-8 12:51
阁下恐怕不是一般码农吧
神经病apl语言interpreter就这么管理内存的 cpython最初其实也是 YsHaNg 发表于 2024-3-8 20:54
神经病apl语言interpreter就这么管理内存的 cpython最初其实也是
安卓还能用这些的吗,我没用过你说的那些
用这些写安卓还得自己处理内存的事情的吗 YoshinoSakura 发表于 2024-3-8 13:47
安卓还能用这些的吗,我没用过你说的那些
用这些写安卓还得自己处理内存的事情的吗 ...
你好,不会的,现在有多少个会直接手动管理内存的 我以为这里指generic slymitec 发表于 2024-3-9 10:21
自然不是每个方法都写,有很多具体代码方面解决办法
当然这个跑题了,这不是本贴的重点。 ...
对于c++语言,new失败都是直接抛异常的,判断null指针意义不大。对于大部分c++和c代码,只要内存申请失败,就应该准备dump文件,查找内存泄露了。
绝大多数c++业务代码,try catch没有太大实际意义,因为除了代码会主动申请内存,大量stl内部也会申请内存,内存申请失败并没有什么有效的补救措施。
Android通过jni调用c或c++,其实也是一样的 slymitec 发表于 2024-3-9 10:21
自然不是每个方法都写,有很多具体代码方面解决办法
当然这个跑题了,这不是本贴的重点。 ...
确实,根据安卓的特点
估计是崩崩崩就完事了
页:
[1]