珈蓝寺的夜枭
珈蓝寺的夜枭
  • 发布:2016-03-16 16:56
  • 更新:2016-03-17 01:46
  • 阅读:1350

APP 内存管理 $_$

分类:HTML5+

想做一个图表样式的APP管理器嵌到自己的app里面做自身管理,有点像系统的应用管理一样,显示内容:
1.当前所有的WebView列表

  1. WebView当前内容:

    外联的CSS脚本大小

    外联的JS脚本大小

    内置的媒体文件大小[图片,音频,视频]

    页面数据大小

    整个页面大小

功能:

查看2相关的内容

# 设置一个阈值,App根据情况自动做存储管理:  
    清除掉一些临时不用的页面  
    清空暂时不用的页面数据等,总之,就是不要app使用的存储超过预定的值;  

还有比较大的外联js脚本用的比较多,能够公用一块存储么?就是加载一次,每个页面都去使用这块存储,而不是每个页面都加载一个副本?

这个有目前能解决的方法么?或者方案?

2016-03-16 16:56 负责人:无 分享
已邀请:
chender

chender - 与人为善

你这个需求有点特别啊,我觉得够呛;
每个webview的内存区域是独立的,所以加载的js也都是独立的,没办法共用;
不用的webview就关闭掉,不至于有内存问题;
处心积虑地去做内存管理,这件事情本身都比较耗资源的,可能会适得其反

  • 珈蓝寺的夜枭 (作者)

    就想做来看看,至于管理块的问题,先不考虑

    2016-03-16 17:25

DCloud_heavensoft

DCloud_heavensoft

用chrome控制台调试啊,可以直接看到当前webview列表,每个webview的资源情况。
不过内存占用是看不到的。

  • 珈蓝寺的夜枭 (作者)

    只能看到静态页,动态的数据及脚本谷歌有的地方是不支持的呢

    2016-03-17 09:40

  • uniapper

    @16 http://ask.dcloud.net.cn/question/6783 这个问题中的关于内存释放不干净的问题,官方有何看法?? 我测试的自己的app还有 @63482 同学的 《枫桥居花卉》 都有同样的问题。 另外,我的测试app 是自己用plus.webview.create() 创建,然后 使用wv.close() 关闭的,但是仍旧是打开一个webview再关闭后,仍旧有几兆(而且有的可能是10几兆)的内存不会释放。这样就导致在打开-关闭大约20多个webview后,app的内存占用从60多兆飙升到接近400兆。

    2016-04-10 15:58

  • DCloud_heavensoft

    回复 uniapper:我们关闭了指定的webview后,似乎系统并不着急gc,不过真的遇到内存不足时,也还是会把没用的收回去。目前还没有遇到因此产生的问题。

    2016-04-12 05:20

  • uniapper

    @16 多谢!

    2016-04-12 10:11

该问题目前已经被锁定, 无法添加新回复