Navigation Memory leak
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 15/100
- Issue 类型
- 缺陷
- 描述清晰度
- 需要澄清
- 活跃度
- 停滞
- 技术栈
- ios, javascript
调研方向
首先,在使用 ns create template 创建的应用中重现该问题,使用 Frame.topmost().navigate 示例以及列出的 iOS、ns-cli、ns-core 和 ios-runtime 版本。在 iPhone 上对所述页面之间的导航进行性能分析,并比较尝试进行 GC() 更改与不进行该更改时的内存行为。导航泄漏得到修复,并且内存不再持续累积直至应用崩溃,即视为完成。
由索引模型根据 Issue 内容生成。
描述
ns-v8ios since version 7 I think have this issue. Where garbage collector is not operating as intended. I think there's a duplicate about this topic in the issue list, but it's easier to create one for myself with all necessary details.
So the leak is happening even on the app that you can install with ns create. If you create one using the template where this code exists
Frame.topmost().navigate({
moduleName: componentRoute,
transition: {
name: 'fade',
},
})
I've tried to modify it in a way to use util GC(). It helped, by a tiny bit, but it's still not enough. I've made a video where I profile hello world app on iPhone and show on screen what is happening on my device. I'm basically jumping between template heavy pages that have bunch of
<GridLayout class="page__content">
<Label class="page__content-icon far" text=""></Label>
<Label class="page__content-placeholder" text="<!-- Page content goes here -->"></Label>
</GridLayout>
duplicated. On one page 300 lines, on the second one 6000 lines. And it's clearly visible that memory is being released by accumulates much much more.
Why so much lines is just to display that GC is clearly broken, but even in live app that I have, I have "complex" layouts because we're using NS-Vue and components approach create a lot of templates, even if they are flat. So our app crashing our clients devices quite easily, especially the ones that have only 2-3GB of RAM and the solution to make design more flat might not be a solution for us at all, unfortunately.
Version of xcode: 13.1
Version of ns-cli: 8.1.4
Version of ns-core: 8.1.1
Version of ios-runetime: 8.1.0
We would like to "invest" into this problem, to fix it ASAP, as our product suffers from this.
Here's there link to a video where I show the error https://drive.google.com/file/d/1Qz8jYFE6N4TVvS0G_8rrvmVzUe-KtKFC/view?usp=sharing
- 主要语言
- JavaScript
- 星标
- 150
- 派生
- 43
- 平均合并
- 3 天 10 小时
- 30 天内合并 PR
- 22
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
NativeScript/ios 的其他 Issue
-
难度 5/5 一周以上 新手友好度 38/100
NativeScript/ios#459 · 1 条评论 ·
-
难度 5/5 一周以上 新手友好度 25/100
NativeScript/ios#445 ·
-
难度 3/5 3-5 天 新手友好度 66/100
NativeScript/ios#414 ·
-
question
难度 4/5 3-5 天 新手友好度 34/100
NativeScript/ios#364 · 2 条评论 ·
-
难度 4/5 3-5 天 新手友好度 35/100
NativeScript/ios#355 ·
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 75/100
palladius/rails8-app-on-gcp#145 ·
-
难度 2/5 1-3 小时 新手友好度 65/100
dotenvx/dotenv-vscode#139 ·
-
test-change-proposal
难度 2/5 1-3 小时 新手友好度 65/100
web-platform-tests/interop#1455 ·
-
难度 2/5 1-3 小时 新手友好度 75/100
corsairdev/corsair#1764 ·
-
难度 2/5 1-3 小时 新手友好度 75/100