V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ShadowPower  ›  全部回复第 22 页 / 共 85 页
回复总数  1695
1 ... 18  19  20  21  22  23  24  25  26  27 ... 85  
301 天前
回复了 tsohgdivil 创建的主题 Apple 为什么 iOS 不支持虚拟内存?
@wanguorui123 内存泄漏的部分其实永远都只会在闪存里,平时看起来就像普通的文件一样。

既然是泄漏的内存,那就是程序没有办法访问或者有办法但代码逻辑里却不用的。
不读写这块内存,就不会发生缺页中断,不会发生换页操作。

我没有说换页不需要时间和电量,但是禁用 Swap 把应用杀了只会花费更多的时间(包括展示广告、用户操作的时间)和电量。

如果用户体验真的更好,这个帖子就不会存在了。
301 天前
回复了 tsohgdivil 创建的主题 Apple 为什么 iOS 不支持虚拟内存?
@wanguorui123 不会有那么夸张,原神占用的内存大小都没有 4GB……
如果 APP 真的占用了 4GB ,当前任务所需要的活跃内存也不会达到 4GB 。

还有大多数程序内存数据,除非是图片、音频等资源,其实都很容易压缩。其实可以设计成两级,先进入内存压缩,再进入闪存。

对于难压缩的数据(可以试着压缩开头的一小块,算一下压缩率)可以直接进闪存。

实际上不用等待 7~8 秒。如果真的要那么久,往往应用从头加载也会那么久……
301 天前
回复了 tsohgdivil 创建的主题 Apple 为什么 iOS 不支持虚拟内存?
@wanguorui123 不是 Swap 不耗电,只是凡事都需要对比,哪种方案更耗电。

如果内存不足以维持前台应用正常运行,那么其实已经完全没法用了,就像当年 iPhone 6 玩王者荣耀结算界面闪退,iPhone 8 玩原神玩一半闪退( 1.0 版本还不给玩,1.1 给了)
这是更糟糕的用户体验……

这时候如果有 Swap 可以用,至少能维持应用正常运行。

如果只是用来存储后台应用,那么,内存不足的场景下(充足的时候就没有区别了),如果有 Swap ,应用的内存会存储到 SSD 里,如果没有,应用就会被杀掉。

有 Swap 的时候,当你切换回这个应用,系统只需要从硬盘里读取数据到内存中,然后一切状态都恢复了。程序本身不需要做任何初始化工作,约等于给所有应用都适配了状态恢复。

如果没有 Swap ,考虑当下现实情况,比如你切换到微信,却发现还需要看地球。
这时候应用还要额外做初始化工作,加载本地存储的持久化数据,创建各种对象,生成界面元素等等。此过程不但需要从硬盘读取数据,还需要做不少计算。完毕之后,用户还要操作 APP ,点开之前使用的界面。
耗电只会比有 Swap 的情况更多。

还有,你所谓的后台恢复机制,实际上也许和你想象中有出入。如果你想象中就像 Swap 那种样子,应用的内存全部保存起来,下次打开就会读取,那它还真不是这样。
iOS 6 之前没有这个东西,不过有墓碑机制。iOS 6 之后有个 UI 状态读取和恢复的 API ,但是其他应用数据都要自己保存。
后来苹果还改过这套 API 。后面我不做 iOS 开发了,不太熟悉……

其实并不是那种“整个 APP 数据完整保存下来”的机制。

只不过它可以缩短初始化的流程,能用之前的数据直接去创建应用界面和各种对象,还能让用户省去打开之前使用的界面的操作。让用户感觉“一点开应用就接着上次没看完,没用完的地方继续操作”,就像现在的 VSCode 、JetBrains IDE 那样。


最后,在 Android 上开启和关闭这玩意很简单,虽然代码实现不太一样,但是目的基本一样。我并没有发现它会造成可感知的续航缩短。比如开启之前我能用一天半,开了之后只能勉强用一天。实际上没这个现象。
Windows 11 + NVIDIA 显卡
有条件可以搭配一台 Steam Deck OLED
301 天前
回复了 tsohgdivil 创建的主题 Apple 为什么 iOS 不支持虚拟内存?
@wanguorui123
两个问题:
如果内存足够用,以至于从未发生过缺页中断,那么耗电从何而来?
如果内存不够用,为什么重新启动应用比换页省电?
302 天前
回复了 Koril 创建的主题 计算机 2024 年想换台笔记本,老哥们有什么推荐?
@xingdaorong 那不一定,光是 anaconda 装的库都有毛病,总会报一些 Intel MKL 库的错,pip 装的反而正常,挺折腾的……
Java 也不能用 ARM 版,不然项目上哪个老库有二进制代码加载不起来,也不能为了新款 Mac 给它换了。

对于 OP 的需求,除了编程,其他的都不能满足或者用不上 MBP 的优势。
302 天前
回复了 tsohgdivil 创建的主题 Apple 为什么 iOS 不支持虚拟内存?
@wclebb 会,但是比重新启动应用的耗电低
302 天前
回复了 tsohgdivil 创建的主题 Apple 为什么 iOS 不支持虚拟内存?
让用户用得太舒服会影响新款销量
@1una0bserver
> 有时侯真想不明白身为消费者却天天给厂商说话,自身利益被侵犯了还要给厂商找借口开脱,要是真是员工也还能理解,但是不是员工的话真可称为邪教了。

其实我还挺赞同的,这也是为什么我觉得小米用户比苹果用户好。
303 天前
回复了 Fike 创建的主题 Apple 1 月 31 日 死亡搁浅上架 mac
我用 mac 玩 osu
正好 macOS 14 能关鼠标加速了
唯一的问题则是这屏幕的响应时间太差,运动的元素都有严重拖尾……
玩啥游戏都感觉自带效果很糟糕的运动模糊
更封闭的游戏主机和 iOS 设备仍然合法……

我觉得可以换个角度回答这个问题:
https://i.imgur.com/NitqZ71.png
RedmiBook Pro 15 2023
303 天前
回复了 Renco 创建的主题 职场话题 统计一下 V 友们,除夕不放假的有多少
放,多一天假期
303 天前
回复了 Koril 创建的主题 计算机 2024 年想换台笔记本,老哥们有什么推荐?
@xingdaorong MBP 根本对不上 OP 的需求啊……
303 天前
回复了 saveai 创建的主题 Android 安卓手机迷之内存
换 iPhone 吧
内存一直都是满的……
虽然 iOS 不让你看,但你可以用第三方工具查看
1 ... 18  19  20  21  22  23  24  25  26  27 ... 85  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2797 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 51ms · UTC 15:19 · PVG 23:19 · LAX 07:19 · JFK 10:19
Developed with CodeLauncher
♥ Do have faith in what you're doing.