V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sheyue
V2EX  ›  Web Dev

请教下大佬们有无移动端 app 上 h5 页面休眠/内存优化思路

  •  
  •   sheyue · 1 天前 · 693 次点击

    背景:业务上的 app 上有用 webView 加载多个 h5 页面(小游戏、活动),分 tab 对应展示(类似浏览器),每次只会激活一个页面,现在几个页面同时加载的情况下,几个页面因为相对复杂,内存占用都很高,导致 app 内存飙很高

    预期是没有激活的 tab 能够减少内存占用(从休眠、内存控制等方向),想问下 v 站的大佬们有什么优化思路

    ps:以前处理过 electron 上加载多个 browserView 的页面的优化,当时用的是调用其他组给的 dll 包,设置未激活页面进程内存置换部分到物理内存。但是处理移动端页面没啥思路

    5 条回复    2025-09-09 09:17:33 +08:00
    horizon
        1
    horizon  
       1 天前
    一样的呀,把状态保存到 localstorage 或者 indexdb 里,visble 的时候再 restore
    sheyue
        2
    sheyue  
    OP
       1 天前
    @horizon 这种的话,需要每个页面都单独特殊处理,想看看有没有比较通用的处理方式
    hengshenyu
        3
    hengshenyu  
       19 小时 28 分钟前 via Android
    业务数据内存一般都不大吧,估计大部分是引擎运行时内存。页面隐藏的时候暂停就好,例如各种动画效果。例如 requestanimationframe 这种在后台都会自动暂停的。
    hengshenyu
        4
    hengshenyu  
       19 小时 27 分钟前 via Android
    如果把状态存 localstorage ,打开时再恢复,页面会闪烁吧
    iyeatse
        5
    iyeatse  
       18 小时 52 分钟前 via iPhone
    iOS WKWebView 不占主进程内存; Android 也可以自己开 webview 多进程
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1016 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 20:09 · PVG 04:09 · LAX 13:09 · JFK 16:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.