Nativescript应用程序性能

Nativescript应用程序性能,nativescript,Nativescript,我发现安卓上的{N}应用程序速度很慢,尤其是在导航过程中,我注意到随着导航次数的增加,它会逐渐变慢 我认为这与内存泄漏有关 我正在开发Windows和VS代码。关于如何检查内存泄漏、性能等的任何建议。如果您使用的是最新版本的NativeScript,那么我猜您将创建新的数据结构,并在每个页面导航期间保留它们。例如如果您这样做: var page; exports.loaded(args) { page = args.object; } 然后导航到别处,页面变量仍将指向整个页面元素,这将

我发现安卓上的{N}应用程序速度很慢,尤其是在导航过程中,我注意到随着导航次数的增加,它会逐渐变慢

我认为这与内存泄漏有关


我正在开发Windows和VS代码。关于如何检查内存泄漏、性能等的任何建议。

如果您使用的是最新版本的NativeScript,那么我猜您将创建新的数据结构,并在每个页面导航期间保留它们。例如如果您这样做:

var page;
exports.loaded(args) {
    page = args.object;
}
然后导航到别处,页面变量仍将指向整个页面元素,这将在内存中保留与页面相关的所有内容。因此,有几个解决方案

  • 使用WeakRef来维护对需要GC的对象的引用
  • 使用unload事件清除代码中全局化的所有引用,如上面的示例
    page
    元素
  • 确定问题原因的一种方法是通过将以下代码放在android应用程序的某个位置来强制堆转储:
    \uuu heapSnapshot()
    
    这将生成堆快照。下载到计算机后,您可以在Chrome的开发者工具中打开并查看堆的使用情况。

    请确保至少运行2.4版本。2.3的问题我认为导航和内存需要指定运行时和tns-core-modules的哪个版本(
    tns info
    )。nativescript 2.4.2;tns核心模块2.4.4;tns安卓2.4.1